$1.50 in USA
w*
\
The 9-inch screen of the CT-VM monitor ($175) shown here with Southwest's newCT-64 illustrates the terminal's 64 -character lines, switchable control
character printing, and word highlighting. At just $500 for both, these matching units provide a complete CRT terminal with full cursor control, 1 10-1200 Baud
serial interface, and many other features.
Now $325 buys a 64-character terminal kit
Our new CT-64 terminal kit gives you scrolling, full
cursor control, 128-character ASCII display (with both
upper and lower case), and two 1 K memory pages. It's
usable with any 8-bit computer.
Add our optional fully assembled 12 MHz CT-VM
monitor for another $175 and you'll have the best CRT
terminal buy offered anywhere.
The CT-64 gives you full cursor control, home-up and
erase, erase to end of line or end of frame, cursor on /off,
screen reversal, scroll or page, solid or blinking cursor,
page selection, and end-of-page warning beeper.
The CT-64's features include:
64 or 32 characters per line (16 lines)
Premium display with both upper and lower case
letters, and descenders (g, j, etc.)
Two 1K pages of 8 -bit memory
Scrolling or page mode operation
32 control character decoding
Prints control characters (selectable)
128-character ASCII set
1 10 /220 Volt 50-60 Hz power supply
Highlights words with reversed background
Optional 9-inch monitor with matching cover available
Complete with keyboard, power supply, 110-1200
Baud serial interface, and case
Okay, Southwest, I know a bargain when I see it.
□ Enclosed is $500 for the whole works
(CT-64 terminal plus 12 MHz CT-VM monitor).
□ Here's $325 for the CT-64.
D Send only data for now.
□ Send me your $395 MP-68 computer kit.
D orBAC#
□ orMC# .
Name
_Exp. Date
_Exp. Date
City.
. Address
. State
.ZIP.
-EI
5a
Southwest Technical Products Corp.
219 W. Rhapsody, San Antonio, Texas 78216
Circle 1 on inquiry card.
Meet the most powerful
/xC system available for dedicated work.
Yet it's only $595:
Here's the muscle you've been telling us you wanted:
a powerful Cromemco microcomputer in a style and price
range ideal for your dedicated computer jobs — ideal for
industrial, business, instrumentation and similar applica-
tions.
It's the new Cromemco Z-2 Computer System. Here's
some of what you get in the Z-2 for only $595:
• The industry's fastest juP board (Cromemco's highly
regarded 4 MHz, 250-nanosecond cycle time board).
• The power and convenience of the well-known Z-80
liP.
• A power supply you won't believe ( + 8V @ 30A,
+ 18V and —18V @ 15A — ample power for addi-
tional peripherals such as floppy disk drives).
• A full-length shielded motherboard with 21 card slots.
• Power-on-jump circuitry to begin automatic program
execution when power is turned on.
• S-100 bus.
• Standard rack-mount style construction.
• All-metal chassis and dust case.
• 110- or 220-volt operation.
DEDICATED APPLICATIONS
The new Z-2 is specifically designed as a powerful but
economical dedicated computer for systems work. Notice
that the front panel is entirely free of controls or switches
of any kind. That makes the Z-2 vir-
tually tamper-proof. No accidental
program changes or surprise mem-
ory erasures.
FASTEST, MOST
POWERFUL MC
Cromemco's microcom-
puters are the fastest and
most powerful available.
They use the Z-80 mi-
croprocessor which is
widely regarded as the standard of the future. So you're
in the technical fore with the Z-2.
BROAD SOFTWARE/PERIPHERALS SUPPORT
Since the Z-2 uses the Z-80, your present 8080 soft-
ware can be used with the Z-2. Also, Cromemco offers
broad software support including a monitor, assembler,
and a BASIC interpreter.
The Z-2 uses the S-100 bus which is supported by the
peripherals of dozens of manufacturers. Naturally, all
Cromemco peripherals such as our 7-channel A/D and
D/A converter, our well-known BYTESAVER with its
built-in PROM programmer, our color graphics interface,
etc., will also plug into the S-100 bus.
LOW, LOW PRICE
You'll be impressed with the Z-2's low price, technical
excellence and quality. So see it right away at your
computer store — or order directly from the factory.
Z-2 COMPUTER SYSTEM KIT (MODEL Z-2K) (includes
4 MHz /xP card, full-length 21 -card-slot motherboard,
power supply, one card socket and card-guide set, and
front panel; for rack mounting) $595.
Z-2 COMPUTER SYSTEM ASSEMBLED (MODEL Z-2W)
(includes the above as well as all 21 sockets and card
guides and a cooling fan; for rack mounting ). . .$995.
TV DAZZLER
To make
your computer
more useful-
i
a
a wide choice of
memory, I/O, CPU
Your computer's usefulness de-
pends on the capability of its CPU,
memories, and I/O interfaces, right?
So here's a broad line of truly
useful computer products that lets
you do interesting things with your
Cromemco Z-1 and Z-2 computers.
And with your S-1 00-compatible Al-
tairs and IMSAIs, too.
CPU
• Z-80 MICROPROCESSOR CARD.
The most advanced p.P card avail-
able. Forms the heart of our Z-1
and Z-2 systems. Also a direct re-
placement for Altair/IMSAI CPUs.
Has 4-MHz clock rate and the power
of the Z-80 fiP chip. Kit (Model ZPU-
K): $295. Assembled (Model ZPU-
W): $395.
MEMORIES
• 16K RAM. The fastest available.
Also has bank-select feature. Kit
(Model 16KZ-K): $495. Assembled
(Model 16KZ-W): $795.
• 4K RAM. Bank-select allows ex-
pansion to 8 banks of 64K bytes
each. Kit (Model 4KZ-K): $195. As-
sembled (Mode! 4KZ-W): $295.
• THE BYTESAVER — an 8K capa-
city PROM card with integral pro-
grammer. Uses high-speed 2708 eras-
able PROMs. A must for all com-
puters. Will load 8K BASIC into RAM
in less than a second. Kit (Model
BSK-0): $145. Assembled (Model
BSW-0): $245.
• 16K CAPACITY PROM CARD. Ca-
pacity for up to 16K of high-speed
2708 erasable PROM. Kit (Model
16KPR-K): $145. Assembled (Model
16KPR-W):$245.
I/O INTERFACES
• FAST 7-CHANNEL DIGITAL-
ANALOG I/O. Extremely useful
board with 7 A/D channels and 7
D/A channels. Also one 8-bit par-
allel I/O channel. Kit (Model D +
7A-K): $145. Assembled (Model D
+ 7A-W): $245.
• TV DAZZLER. Color graphics in-
terface. Lets you use color TV as full-
color graphics terminal. Kit (Model
CGI-K): $215. Assembled (Model
CGI-W): $350.
• DIGITAL INTERFACE (OUR NEW
TU-ART). Interfaces with teletype,
CRT terminals, line printers, etc. Has
not one but two serial I/O ports and
two 8-bit parallel I/O ports as well
as 10 on-board interval timers. Kit
(Model TRT-K): $195. Assembled
(Model TRT-W): $295.
• JOYSTICK. A console that lets
you input physical position data with
above Model D + 7 A/D card. For
games, process control, etc. Con-
tains speaker for sound effects. Kit
(Model JS-1-K): $65. Assembled
(Model JS-1-W): $95.
PROFESSIONAL QUALITY
You get first-class quality with
Cromemco.
Here are actual quotes from ar-
ticles by independent experts: "The
Cromemco boards are absolutely
beautiful" . . . "The BYTESAVER is
tremendous" . . . "Construction of
Cromemco I/O and joystick are out-
standing" . . . "Cromemco periph-
erals ran with no trouble whatso-
ever."
Everyone agrees. Cromemco is
tops.
STORES/MAIL
So count on Cromemco. Look
into these Cromemco products at
your store. Or order by mail from
the factory.
We wish you pleasure and suc-
cess with your computer.
rj| Cromemco
incorporated
Specialists in computers and peripherals
2432 CHARLESTON RD., MOUNTAIN VIEW, CA 94043 • (415)964-7400
Circle 2 on inquiry card.
In the Queue
JULY 1977
Volume 2
BITE
Number 7
12
36
52
64
92
118
122
126
42
44
72
78
82
96
4
Foreground
HOW TO COMPUTERIZE YOUR MODEL RAILROAD
Applications— Brown
THIS CIRCUIT MULTIPLIES
Arithmetic Hardware— Hall
THE TV OSCILLOSCOPE
Hardware— Barbier
SPEECH RECOGNITION FOR A PERSONAL COMPUTER SYSTEM
Peripherals— Boddie
A MACHINE CODE RELOCATOR FOR THE 8080
Software— Zol man
HOW FAR-WHICH WAY?
Applications— Pittet
ADD CURSOR CONTROL TO YOUR TVTII
Hardware— McGahee
GIVING KIM SOME FANCY JEWELS
Hardware— Grater
Background
CONDENSED REFERENCE CHART FOR THE 6800
Reference Materials— Borrmann
ATRAIN CONTROL DISPLAY USING THE LSI-11 MICROCOMPUTER
Applications— Hart-Badger
HOW TO PICK UP A DROPPED BIT
Error Theory— Maurer
GIVE YOUR MICRO A MEGABYTE
System Design— Grappel
AN INTRODUCTION TO NUMBERS
Software— Simmons
BASICally BASIC
Software— Baker
Nucleus
124
Classified Ads
128
PAPERBYTES Forum
142,
166
Programming Quickies
151
Book Reviews
155,
158
BYTE's Bits
156
PAPERBYTES: Floppy Disk
Object Code
160
Clubs, Newsletters
176
BOMB
176
Reader Service
In This BYTE
6 This Elephant Never Forgets
1 0 Letters
25 West Coast Computer Faire
32, 115, 129 What's New?
34, 150 Technical Forum
41 Ask BYTE
57 BYTE's Bugs
90 Desk Top Wonders: Jeu de
NIM, Peutttre?
Cover: COMPUTER ENGINEERING by Robert Tinney
BYTE is published monthly by BYTE Publications Inc, 70 Main St, Peterborough NH 03458. Address all mail except subscrip-
tions to above address; phone (603) 924-7217. Address all editorial correspondence to the editor at the above address.
Unacceptable manuscripts will be returned if accompanied by sufficient first class postage. Not responsible for lost manu-
scripts or photos. Opinions expressed by the authors are not necessarily those of BYTE. Address all subscriptions, change of
address. Form 3579, and fulfillment complaints to BYTE Subscriptions, PO Box 361, Arlington MA 02174; phone (617)
646-4329.
Second class postage paid at Peterborough NH 03458 and at additional mailing offices-USPS Publication No. 102410.
Subscriptions are $12 for one year, $22 for two years, and $32 for three years in the USA and its possessions. Add $5.50 per
year for subscriptions to Canada and Mexico. $25 for a one year subscription by surface mail worldwide. Air delivery to select-
ed areas at additional rates available upon request. $25 for a one year subscription by air delivery to Europe, or DM 60,— for a
one year subscription through our European distributor in Darmstadt.
Single copy price is $1 .50 in the USA and its possessions, $2 in Canada and Mexico, and $3 eleswhere, or DM 7,— through our
European distributor in Darmstadt.
Foreign subscriptions and sales should be remitted in United States funds. Printed in United States of America. Entire con-
tents copyright © 1977 by BYTE Publications Inc. All rights reserved.
PUBLISHERS
Virginia Peschke
Manfred Peschke
EDITOR IN CHIEF
Carl T Helmers Jr
PRODUCTION MANAGER
Judith Havey
CIRCULATION MANAGER
Gregory Spitzfaden
ASSISTANT PUBLISHER
Debra Boudrieau
EDITOR
Christopher P Morgan
CO-OP EDITOR
Raymond Cote
PRODUCTION EDITORS
Karen Gregory
Nancy Salmon
EDITORIAL ASSISTANT
Ingrid Nyland
PRODUCTION ASSISTANT
Cheryl Hurd
ADVERTISING ASSISTANT
Noreen Bardsley
SUBSCRIPTIONS
Kimberly Barbour
DEALER SALES
Ginnie F Boudrieau
ADVERTISING
Elizabeth Alpaugh
Debra Boudrieau
Virginia Peschke
CLUBS, PAPERBYTES
Peter Travisano
TRAFFIC MANAGER
Edmond C Kelly Jr
ART
Mary Jane Frohlich
Wai Chiu Li
Ellen Shamonski-Bingham
SPECIAL PRODUCTS
Medellin Stephens
Floyd Rehling
EXECUTIVE SECRETARY
Patricia Clark
RECEPTIONIST
Jacqueline Earnshaw
DRAFTING
Lynn Malo
Bill Morello
Stephen Kruse
TYPOGRAPHY
Custom Marketing Resources Inc
Goodway Graphics
PHOTOGRAPHY
Ed Crabtree
EDITORIAL CONSULTANT
Daniel Fylstra
ASSOCIATES
Walter Banks
Steve Ciarcia
David Fylstra
Portia Isaacson
FOREIGN DISTRIBUTOR
Pan Atlantic Computer Systems GmbH
Frankfurter Str 78
D61 Darmstadt, West Germany
(0 61 51) 29 29 23
STATION
3
In This EUI
Model railroading can give the com-
puter hobbyist an action packed com-
puter application. Before tackling the
job, however, it is important to have a
firm understanding of what's involved
in the design of a model railroad. In
his article, How to Computerize Your
Model Railroad, David C Brown ex-
plains in detail the problems faced by
the model railroader and points to
ways in which they can be solved. He
then goes on to cover the requirements
for microprocessor interfaces to the
model railroad and some thoughts on
the software of an operating system to
give realism to the model.
Sometimes a small amount of hard-
ware can speed up software con-
siderably. A perfect example is pro-
vided by Tom Hall in his article which
shows how This Circuit Multiplies.
This circuit is a hardware multiplier
which takes 8 bit operands and replies
(ten clock periods later) with a 16 bit
product. Here is an example of putting
an inner loop into hardware, thereby
speeding up an operation.
The model railroad is an ideal way
for the personal computing enthusiast
to enter the fascinating world of real
time control: such a system is realistic
but manageable. Authors Jack Hart
and Ed Badger show you how they did
it in A Train Control Display Using the
LSI-11 Microcomputer.
page 44
Sometimes a bit of serendipity falls
out of an application or project. Ken
Barbier describes one such case in the
form of his technique of using a
television display circuit's ability to
generate a raster with various syn-
chronous patterns to debug and verify
its operation. Read The TV
Oscilloscope.
There are many ways to make a
computer talk, but how do you get it
to listen? Speech Recognition for a
Personal Computer System discusses
a topic which has fascinated and
frustrated experimenters for years.
Author James Boddie of Bell Labs (the
pioneer researchers in the field) covers
the history of the subject and presents
a practical system which can be realized
by a personal computing experimenter.
Real world systems may not be
perfect, yet programming demands
perfection. (If we drop a bit in one
machine instruction, it becomes an-
other instruction altogether.) As a
background discussion of a large sub-
ject, W Douglas Maurer presents some
information on How to Pick up a
Dropped Bit using some of the tech-
niques of error detection and cor-
rection.
What's a sure cure for memory
megalomania? Why, Give Your Micro
a Megabyte as outlined in Robert
Grappel's short tutorial on some large
memory design techniques which will
prove adaptable to microcomputer
systems. There should be virtually
no reason to complain if his ideas were
put into practice more universally.
An Introduction to Numbers, by
Webb Simmons, serves as an introduc-
tion to the concepts of fixed, scaled
and floating point numbers. Here
you'll find some basic forms for
each type, how the forms differ from
each other, and how each can be used.
If you've ever been frustrated by
the drudgery involved in relocating
machine language programs with noth-
ing but toggle switches, then Leor
Zolman's A Machine Code Relocator
for the 8080 is for you! Just enter six
key pieces of information and the
program does the rest automatically,
even fixing up all your address
references.
For beginners first learning about
computers, we often get requests for
some basic information. In BASICally
BASIC, Robert Baker gives an in-
formal introduction to the nature of
the BASIC language and its uses in
programming. Finding out what a
typical BASIC can do is a good
starting point in your personal evalua-
tion of products available in the per-
sonal computing marketplace.
Given latitude and longitude of two
points on the earth, how do you
calculate the distance and bearing? If
you use a little BASIC program by
Rene Pittet, you can answer the ques-
tion of How Far — Which Way? using a
small processor.
If you have a Southwest Technical
Products' TVT II, there is a simple
circuit that you can add that will give
you manual and computer control
over the cursor's movement, erase and
bell functions. In his article, Add
Cursor Control to Your TVT II,
Brother Thomas McGahee describes
this simple circuit which can be
attached to a TVT II.
Poor KIM. If one puts KIM-1 inside
a fancy case, the built-in jewels of key-
board and displays get hidden. But
Robert Grater comes to the rescue by
Giving KIM Some Fancy Jewels, which
consist of a remote set of displays
connected to the processor by cable.
POWER.
IMSA1 Introduces the Megabyte Micro™
The Megabyte Memory
Until today, the largest memory you could
fit and address in a single microcomputer
CPU was 65K.
Now, IMSA1 presents an incredible
memory system for micros 16 limes more
powerful than yesterday's best.
Imagine, a full megabyte of power from
sixteen 65K RAM boards.
And, to control all this, the IMSA1
Intelligent Memory Manager (IMM), the
super control board.
You can write protect blocks through-
out the full megabyte. Or, map in 16K blocks.
Plus, preset 1 6 mapping configurations
with protect for high speed transfer or rapid
change.
All interrupts are fully vectored, and
there's an interrupt if an attempt is made to
write into protected memory.
There's even a real "time of day" clock.
65K,32Kandl6KRAM
Boards
Until today, the most memory you could
plug into a single slot was 16K.
Now, IMSAI presents memory boards
in astonishing multiples of sixteen: 65K,
32K and I6K low power, dynamic RAM
Boards. They can be used in any S- 100 bus
computer individually or in combination
to form conventional systems up to 65K
bytes.
Every board is fast. With "hidden
refresh" and no "wait state."
The Complete Megabyte
Microcomputer System
The IMSAI Megabyte Micro™ is only part
of the story. The full system can include
dual floppy disks, terminals, plotters,
printers and tape cassettes.
IMSAI also offers the finest high level
and peripheral software available. Paper
tape and Tape Cassette I/O and super Disk
Operating Systems. Plus, BASIC and Disk
BASIC with more high level languages
coming.
Until today, the microcomputer's
potential was just something you talked
about.
Now, you can put it to work. Powerfully.
Circle 3 on inquiry card.
GENTLEMEN:
I'm power hungry!
□ Send 65K RAM Board Kit $2599 □ Assembled $3899
□ Send 32K RAM Board Kil $749 [] Assembled $ 1099
□ Send I6K RAM Board Kil $449 Q Assembled $679
□ Send IMM ROM Control Kit $299 □ Assembled $399
□ Send IMM EROM Control Kit $499 fj Assembled $699
□ Send full catalog $1.00
Check/MO enclosed. Amt. $
Charge my: □ B AC [J M /C
# Exp. Date:
Sig
Q Send name of my nearest IMSAI dealer
Name
Company _
Address^
City
State/Zip _
®
IMSAI Manufacturing Corporation
14860 Wicks Blvd.
San Leandro, CA 94577
(415) 483-2093 TWX 910-366-7287
Editorial
* •
•■ w
#■ *
This Elephant Never Forgets
By Carl Helmers
In a press release dated March 9 1977,
Texas Instruments Inc made it official:
a commercial bubble memory product is
now available for general use, initially in
sample quantities priced at $200 per chip.
The device is the TBM0103, a single chip
92,304 bit storage element composed
functionally of 144 shift registers with
641 bits per register. (Internally, according
to Tl, there are 157 registers, but the large
size of the chip carries with it the attendant
probabilities of defects, so discretionary
manufacturing steps are used to connect
144 good registers per package.) The device
has a complicated mechanical structure
which includes two permanent magnet
bias field elements, two orthogonal coils
which modulate the bias field to produce
a net rotating magnetic field in the garnet
film bubble chip, and, of course, a magnetic
shield to isolate the chip from external stray
magnetic fields. The dynamic data character-
istics of the chip are a bit transfer rate of
50,000 bits per second and an access time
of 4 ms setup prior to transferring a 144 bit
word of data into or out of the device.
Conceptually, figure 1 illustrates what one
of these memories looks like to a designer or
programmer. This figure was constructed
based on the limited information about
overall characteristics in the press release.
The procedure for writing a 144 bit word
Continued on page 58
6
BUY YOUR
COMPUCOLOR8001
FROM THESE
DEALERS.
ARIZONA
Phoenix:
Phoenix Bylc Shop West
12654 N. 28th Dr.
(602) 942-7300
Tempe:
Tempe Byte Shop East
813 N. Scottsdale Rd.
(602)894-1129
Tucson:
Byte Shop of Tucson
2612 E.Broadway
(602)327-4579
CALIFORNIA
Lawndale:
Byte Shop of Lawndale
16508 Hawthorne Blvd.
(213)371-2421
Orange:
Computer Mart of Los Angeles
625 W. Kalella. No. 10
(714)633-1222
San Diego:
The Computer Center
8205 Ronton Rd.
(714)292-5302
San Francisco:
The Computer Store
1093 Mission St.
(415)431-0640
San Jose:
Amco Electronics
414 S. Bascom Ave.
(408) 998-2828
San Jose:
Byte Shop
155 Blossom Hill Rd.
(408) 226-8383
Van Nuys:
Computer Components
5848 Scpulvcda Blvd.
(213)786-7411
CONNECTICUT
Windsor Locks:
The Computer Store
63 S. Main St.
(203)627-0188
FLORIDA
Coral Gables:
Sunny Computer Stores
1238A S.Dixie Hwy.
(305)661-6042
Tampa:
Microcomputer Systems
144 S. Dale Mabry Hwy.
(813)879-4301
GEORGIA
Atlanta:
Atlanta Computer Man
5091-BBufordHwy.
(404) 455-0647
HAWAII
Honolulu:
Compact Computers
P.O. Box 10096
(808)373-2751
ILLINOIS
Champaign:
1 he Numbers Racket
518 E. Green St.
(217)352-5435
Evanston:
Itty Bitty Machine
1316 Chicago Ave.
(312)328-6800
Park Ridge:
Chicago Computer Store
157TalcottRd..Hwy.62
(312)823-2388
INDIANA
Indianapolis:
Home Computer Shop
10447 Chris Dr.
(317)894-3319
MARYLAND
Rockville:
Computer Workshop. Inc.
5709 Frederick Ave.
(301)468-0455
MASSACHUSETTS
Burlington:
'Hie Computer Store
120 Cambridge St.
(617)272-8770
MICHIGAN
Troy:
General Computer Company
2017 Livernois
(313)362-0022
MINNESOTA
Minneapolis:
Cost Reduction Services
3 142 Hennepin Ave. So.
(612)822-2119
MISSOURI
Kansas City:
Computer Workshop of Kansas City
6903 Blair Rd.
(816)741-5055
NEW JERSEY
Iselin:
"The Computer Mart
501 Route 27
(201)283-0600
NEW YORK
East Meadow:
"The Computer Mart of Long Island
2070 Front St.
(516)794-0510
New York:
The Computer Mart
314 5th Ave.
(212)279-1048
OHIO
Columbus:
Computervision
894 W. Broad St.
(614)228-2477
SOUTH CAROLINA
Columbia:
Byte Shop
2018 Greene St.
(803)771-7824
TEXAS
Houston:
Communications Center
7231 Fondren
(713)774-9526
Richardson:
The Micro Store
634 S. Central Expressway
(214)231-1096
WASHINGTON
Seattle:
Retail Computer Store
410 NE 72nd St.
(206)524-4101
WISCONSIN
Beloit:
Austin Computers
1835 Northgate
(608) 365-6096
Watertown:
General Precision Electronics
207 Rhine St.
(414)261-8148
Compucolor Corporation
NOW $2750.
AMERICA'S LOWEST-PRICED
PERSONAL COMPUTER SYSTEM
WITH COLOR VECTOR GRAPHICS.
By taking advantage of the
new technologies available to
the industry today, we've con-
sistently been able to give you
one of the best prices on the
market. Now because of great
response, we can give you the
best price. You can now buy
the Compucolor 8001 for the
reduced price of $2750. A com-
plete stand-alone system with
expanded graphics software
for plotting points, vectors and
bargraphs on a 160 x 192
addressable grid— in color.
Eight independent background
and foreground colors.
The Compucolor 8001 has
an Intel 8080 CPU, 34 I/O
ports and a color display with
an effective band width of 75
MHZ compared to 5 MHZ for
standard TV sets. In fact the
Compucolor is the only totally
integrated system on the mar-
ket which includes a color
display. You can also have spe-
cial options for the Compucolor
8001 right now, including: Mini
Disk Drives for extra memory,
light pens and a variety of
special keyboard features.
BASIC 8001 Is Easy To Learn.
Compucolor's BASIC 8001 is
a conversational programming
language which uses English-
type statements and familiar
mathematical notations. It's
simple to learn and easy to use,
too. Especially when it comes
to intricate manipulations or
expressing problems more
efficiently. The BASIC 8001
Interpreter runs in ROM mem-
ory and includes 26 statement
types, 18 mathematical func-
tions, 9 string functions and 7
command types for executing,
loading, saving, erasing, con-
tinuing, clearing or listing the
program currently in core.
Expandable Memory To 64K.
The Compucolor 8001 has UK
bytes of non-destructible read-
only memory which handles
the CPU and CRT operating
systems as well as BASIC
8001. Sockets are in place for
an additional 21K of EPROM/
MROM memory. The Random
Access Main Memory has 8K
bytes for screen refresh and
scratch pad, 8K bytes for user
workspace and room for 16K
bytes of additional user work-
space. The Compucolor also
comes complete with a conve-
nient mass storage device,
Floppy Tape Memory. It's an
8-track continuous loop tape
system, with a Baud rate of
4800 and an extra storage
capacity of up to 1024K bytes
per tape.
Color Graphics At
Alphanumeric Black And
White Prices.
That's what we're becoming
famous for, and thanks to the
tremendous response to the
Compucolor 8001, we've been
able to reduce our price even
lower— to $2750. Look over
our dealer listing on the adja-
cent page for the dealer nearest
you. Then drop by for a dem-
onstration. And while you're
checking out the Compucolor
8001, check out your dealer's
financing plan. He can help you
turn a good deal into a good
deal more.
Compucolor Corporation,
P.O. Box 569, Norcross,
Georgia 30091.
Compucolor Corporation
Pirrlp 4 nn innuirv rarii
Sol Terminal Computer
ilMvolo'.PT
•
K
^m
'To do real work with any computer, big or small, it takes
a complete system. That's one of the nice things about the
Sol-20. It was built from the ground-up as the heart of three
fixed price computer systems with all the peripheral gear and
software included to get you up and on the air.
Sol System I costs just $1649 in kit form or S212° fully
burned in and tested. Here's what you get: a Sol-20 with the
SOLOS personality module for stand alone computer power.
an 8192 word memory, a 12" TV video monitor, a cassette
recorder with BASIC software tape and all necessary cables.
Sol System II has the same equipment plus a larger
r« I v**.<
'V:v'
',<*<; *
eiios
■ ■
capacity 16,384 word memory. It sells for S1883 in kit form; S2283 fully assembled.
For even more demanding tasks, Sol System III features Sol-20/SOLOS, a 32,768 word
memory, the video monitor, Helios II Disk Memory System and DISK BASIC Diskette. Price,
$4237 in kit form, S5037 fully assembled and tested.
And remember, though we call these small or personal computer systems, they have more
power per dollar than anything ever
offered. They provide performance com-
parable with mini-computer systems priced
thousands of dollars more.
The Small Computer
Catalog for the rest of the real
computer system story.
Visit your local computer store for
a copy of our full) illustrated 22 page cata-
log. Or you may write or call us if more
convenient. Please address Processor
Technology, Box P. 620(1 Hollis Street.
Emervville. CA 94608. (415)652-8080.
>h % i-
The fuivtion.il K\m;\ of So
nwre than skin cioep. A look inside n
of design and sturxft construction.
S\ stems i>
Corporation i# #
M>W&M
See Sol here
ALABAMA
Birmingham:
1CP. Computcrland
(205)979-0707
ARIZONA
Phoenix:
Bvte Shop Phoenix
(602)442-7300
Tempe:
Byte Shop Tempe
(602)894-1129
Tucson:
Bvle Shop Tucson
f 602) 327-4579
CALIFORNIA
Berkeley:
The Byte Shop
(415)845-6366
Citrus Heights:
Byte Shop
Computer Store
(916)961-2983
Costa Mesa:
Computer Center
171-1) (.46-0221
Fresno:
Data Consultants, Inc.
(209)431-6461
Fullerton:
Bits'N Bytes
(714)879-8386
Lawndale:
The Byte Shop
(213)371-2421
Mountain View:
The Byte Shop
(415)969-5464
Digilal Deli
(415)961-2828
Orange:
The Computer Marl
(714)633-1222
Palo Alto:
The Byte Shop
(415)327-8080
Pasadena:
Byte Shop
(213)684-3311
San Francisco:
Byte Shop
(415)421-8686
The Computer Store
of San Francisco
14151431-0640
San Jose:
The Byte Shop
(408)377-4685
The Computer Room
(408)226-8383
Circle 5 on inquiry card.
San Rafael:
The Byte Shop
(415)457-9311
Santa Clara:
The Bvte Shop
(408)249-4221
Sunnyvale:
Recreational
Computer Centers
(408)735-7480
Tarzana:
Byte Shop of Tarzana
(213)343-3919
Walnut Creek:
The Byte Shop
(415)933-6252
Westminster:
Byle Shop
(714)894-9131
COLORADO
Boulder:
Byle Shop
(303)449-6233
FLORIDA
Coral Gables:
Sunny Computer
Stores
(305)661-6042
Leesburg:
Delia Electronics
(904)357-4244
Miami:
Byte Shop of Miami
(303)264-2983
Tim pa:
Microcomputer
Systems, Inc.
(813)879-4301
GEORGIA
Atlanta:
Atlanta Computer Mart
(404)455-0647
ILLINOIS
Champaign:
The Numbers Racket
(217)352-5435
Evanston:
itly bitty machine CO,
(312)328-6800
Kankakee:
Reeves
Communications
(815)937-4516
Lombard:
itty bitty machine CO.
(312)620-5808
INDIANA
Bloomington:
The Data Domain
(812)334-3607
Indianapolis:
The Bvle Shop
(317)842-2983
The Data Domain
(317) 251-3139
West Lafayette:
The Data Domain
(317)743-3951
KENTUCKY
Louisville:
The Data Domain
(502)456-5242
MICHIGAN
Ann Arbor:
The Computer Store
of Ann Arbor
(313)995-7616
Royal Oak:
Computer Marl
of Royal Oak
(313)576-0900
Troy :
General Computer
Store
(313)362-0022
NEW JERSEY
Hoboken:
Hoboken Computer
Works
(201)420-1644
Iselin:
The Computer Marl
of New Jersey
(201) 283-0600
NEW YORK
East Meadow. L. [.:
The Computer Mart
of Long Island
(516)794-0510
Mollis:
Synchro Sound
Enterprises
(212)359-1489
Middle Island:
The Computer Shoppe
(516)732-3086
New York:
Audio Design
Electronics
(212)226-2038
The Computer Mart
of New York
(212)686-7923
White Plains:
The Computer Corner
1914)949-3282
OHIO
Columbia:
Cybershop
(614)239-8081
OKLAHOMA
Oklahoma City:
High Technology
(405)842-2021
OREGON
Beaverton:
Byle Shop
Computer Store
(503) 644-2686
Eugene:
The Real Oregon
Computer Co.
(503)484-1040
Portland:
Byle Shop
Computer Store
(503)223-3496
RHODE ISLAND
Warwick:
Computer Power. Inc.
(401)738-4477
SOUTH CAROLINA
Columbia:
Byle Shop
(803)771-7824
TENNESSEE
Kingsport:
Microproducls &
Systems
(615)245-8081
TEXAS
Houston:
Byte Shop
(713)977-0664
Computertex
(713)526-3456
Interactive Computers
(713)772-5257
Richardson:
The Micro Store
(214)231-1096
VIRGINIA
McLean:
The Computer
Systems Store
(301)460-3634
Reston:
Media Reactions, Inc.
(703)471-9330
WASHINGTON
Bellevue:
Byle Shop
Computer Store
(206)746-0651
Seattle:
The Retail
Computer Store
(206)524-4101
WISCONSIN
Milwaukee:
The Milwaukee
Computer Store
(414)259-9140
CANADA
Oltawa, Ontario:
Trin Ironies
(613)236-7767
Toronto, Ontario:
First Canadian
Computer Store, Ltd.
(4161482-8080
The Computer Place
(416)598-0262
Vancouver. B. C:
Pacific Computer Store
(604)438-3282
IBj^R^^y
Letters
ALTAIR (S-100) BUS QUESTION
I am using an 8080 based micro-
processor system to control a video
imaging system. A number of circuit
boards are in use or being built which
plug into the Altair style S-100 bus and
work with video. Some of these boards
require video sync signals (horizontal
drive, vertical drive, composite blanking,
composite sync and subcarrier). I would
like to buffer these and put them on the
bus as TTL signals. Could you please
describe the known uses to date of the
uncommitted pins of the Altair style
S-100? I am looking for suggestions of a
standardized place to put these five
signals.
Carl Geiger
Onativia Crossing
LaFayette NY 13084
Can any readers supply an answer?
One place to ask your question would be
to call the engineering departments of
various companies which make peripher-
als for the Altair bus.
ON PRINTERS
On April 1 1 977, volume 2 number 4
arrived with the fine article by
M S McNatt. I look forward to the next
issue with the interfacing information.
I truly believe that this is a most over-
looked situation: the use of Baudot
machines with the small computer. It
would appear that many, many more
people would be interested in the small
computer if there was some method of
retaining ASCII throughout the computer
except in the use of the Baudot machine
for input and output.
I must, however, take issue with the
noise and smell of the Model 15.
A Model 15 that is properly lubricated
and adjusted, with its cover in place,
should be something other than noisy;
the cover should shield the owner from
smell, also. If smoke comes out of the
machine, something is wrong!
I note that Mr McNatt did not men-
tion the Western Union strip printers;
the model number does not come to
mind, but I believe that they were 2-B.
I saw an advertisement on this type of
machine and I have reason to believe
that the keyboard of such a machine will
mate with the typing reperforator which
usually (to my knowledge) comes with-
out a keyboard.
Also, there is the Friden Flexowriter.
My law office has a battery of those
machines. The first one was acquired in
1958 and it clatters and bangs happily
all day long. (Flexowriters are generally
noisy, particularly the FL and SDS
models.) Why is there not mention of
10
these machines? They are extremely
sturdy and it is my understanding that
one can still get maintenance for them.
Many have input and output jacks or
plugs.
Lucius B Dabney Jr
POB947
Vicksburg MS 39180
A way of clucking the issue of your
last question would be to point to the
title of the article: "A Guide to Baudot
Teletypes. " As for oil and smoke,
Mr McNatt's caricature of the Model 15
certainly fits my remembrances of using
one on the amateur radio bands when I
was in college . . . C H
DOES ANYONE HAVE THE LATEST
ON 8080 FORTRAN?
Nine months ago, when I began to
get serious about my own microcom-
puter, everybody was promising a
FORTRAN compiler "just around the
corner." A major manufacturer promised
a FORTRAN compiler "soon" which
degrades to "early 1977." Now they
don't mention FORTRAN in their adver-
tisements. As time goes on we hear less
and less of a FORTRAN compiler. Here
I sit with 40 K, access to timesharing and
a pile of FORTRAN programs I can't use.
I am a user, not a hardware man or a
systems man. I would like to compile
these and other FORTRAN programs
one way or another and get on with
using my machine.
FORTRAN may be a pterodactyl
as Mr Lashley suggests, but it is a lan-
guage commonly used to solve problems
by those more interested in problem
solving than in technique. Some of the
hardware nuts would have us scrap every-
thing everytime a new chip came along.
In that event we would do nothing ex-
cept construct new hardware. Mr Lashley
would have us scrap years of training
everytime a new programming idea
appeared. That's OK for someone
whose main interest is learning new
languages. I don't feel we must scrap
FORTRAN any more than Ma Bell has
scrapped the old phone system. Sure,
there have been problems, but by insisting
the new must work compatibly with the
old, she has built a good system for the
user. The purists working for Bell who
wish to scrap everything each time a new
idea is discovered probably have ulcers.
So let us continue to build upon what
we have and not scrap everything each
time something new comes up. If this
is the way things are done, I'll be up-
dating my system far into the future.
Now, I'd like to see some way of con-
verting that pile of FORTRAN programs.
Lawson T Pierce
4891 Songbird Dr
Columbus OH 43229
LASHING LASHLEY
I nominate P M Lashley (Feburary
1977 BYTE, page 78) for the"Cybersnob
of the Year" award for 1977. The year is
young but I think he should get the nod;
no one can possibly top his useless,
self-serving, supercilious, unnecessary
attack on another man's worthy efforts.
Roxton Baker
56 South Rd
Ellington CT 06029
APL INTEREST, AND CHARACTER
GENERATION TUTORIAL NEEDED
I am writing in response to letters in
the February 1977 issue of BYTE to say
that I am building a microprocessor
based APL capability. I plan to build an
APL CRT terminal and will want a
character generator chip. Since I plan
to build my own but have been unsuc-
cessful in finding a construction and
theory article, BYTE could include such
an article, or at least a bibliography, in a
future issue.
Karl Gerhard
264 Taylor Rd
Portsmouth Rl 02871
APL INFORMATION WANTED
Would you please send me some
information concerning implementation
of APL on microcomputers? Thank you
for your consideration.
Gerry Wong
7950 Mercure
Brossard Quebec
CANADA J4Y 1A8
Watch future issues of BYTE.
COVER KUDOS
I had to write, though somewhat
belatedly, to comment on the January
1977 cover painting by Robert Tinney.
It was, I must admit, a rather emotional
moment when I slid the wrapper off to
reveal a painting which depicts exactly
the feelings and aspirations I have held
for some time now. The hope that the
power of the computer, in the hands of
all the right people, can somehow change
the world from the smog filled grey and
brown outside the window into the
clear and beatiful vision seen through the
terminal.
May I suggest that this cover be made
available in poster size through BITS.
While I did enjoy the Thomas Jefferson
cover, I feel that we in the world of
computing should be looking to the
future, and that this particular painting
Continued on page 146
MULTIPLE DATA RATE INTERFACING FOR YOUR CASSETTE AND RS-232 TERMINAL
the CI-812
The Only S-100 Interface
You May Ever Need
On one card, you get dependable "KC-
standard "/biphase encoded cassette inter-
facing at 30, 60, 120, or 240 bytes per
second, and full-duplex RS-232 data ex-
change at 300- to 9600-baud. Kit, includ-
ing instruction manual, only $89.95*.
PERCOM DATA COMPANY, INC.
4021 WJNDSOR • GARLAND, TEXAS 75042
(214) 276-1968
*Assembled and tested,
$119.95. Add 5% for
shipping. Texas resi-
dents add 5% sales tax.
BAC/MC available.
PerCom 'peripherals for personal computing'
11
INSULATED WHEELS
Figure I: A simple train
layout for one train show-
ing the manner in which
electricity is transmitted
to the motor of the train.
MOV H \
AC ~ '
How to Computerize
David C Brown
1704 Manor Rd
Havertown PA 1 9083
One of the many uses of computers, and
especially personal computers, is in the area
of real time process control operations. An
enjoyable way of experimenting with this
area would be to have your small computer
control a model train layout. Those of us
who attended the Personal Computing 76
convention held in Atlantic City NJ in
August undoubtedly saw the Digital Equip-
ment Corporation's display of a train layout
controlled by an LSI-11 computer. There is
no reason why you could not do something
similar with your own system.
Since many of you may not be familiar
with the techniques used in model rail-
roading, let's start with a bit of background
information. Figure 1 shows the simple oval
layout most of us probably had as children
in the US, where DC power has dominated
the scene recently. Power is applied to each
rail. One set of wheels on the engine picks
up the positive side and feeds it to the
motor; the other set of wheels picks up the
negative. Unfortunately, this type of system
can only handle one train running at a given
time. If a second train were put on the
tracks, we would not be able to control the
two trains' speeds independently. To solve
this problem, we go to block control, shown
in figure 2. As you can see, the negative rail
is common, as it was in figure I. The
difference lies in using insulators on the
positive rails and two power packs. Now we
can use switches so that either power pack
can control either section of track. This
allows us to have a train on the smaller loop
(block 1) and another train on the run
around track to the right (block 2), and we
can control each train's speed independently
through the two power packs. We still have
to be a little careful when we operate this
system, because if the train on block 2 runs
onto block 1 while block 1 is occupied we
will be right back where we started, with
two trains running at the same speed and
controlled by one power pack.
12
INSULATOR
IIOV
AC
Figure 2: A basic example
of block wiring. The nega-
tive rail is common to
both blocks. The positive
rail is divided by insulators
into two sections. Each
block can run a train using
a separate power pack.
TRAIN A
POWER PACK
TRAIN B
POWER PACK
Your Model Railroad
In reality, then, two blocks are insuffi-
cient. A moderate size model railroad is
likely to have from 12 to 24 blocks. Just
before a train enters a block, the operator
would flip that block's control to his power
pack. When the train leaves a block, the
operator would turn off that block so that
the other operator could bring his or her
train into the block if he or she wanted to.
The only other really important consider-
ation in train layouts that we should discuss
is the reverse loop. Suppose we had a loop as
in figure 3, so that the train could go around
the loop and end up on the same track but
going the opposite direction. If you follow
the polarities of the tracks around the loop,
you will see that they end up as a short
circuit, with "+" connected to "— " and vice
versa. This condition requires the use of a
special type of block, known as a reverse
block or reverse loop. The reverse block is
similar to the other blocks we have dis-
cussed, except that in this case, both tracks
have insulators instead of just one. This is
illustrated in figure 4. We have also added
some other switches for reversing train direc-
tions. A normal power pack has a reverse
switch that switches the polarity of its
output to make the train run in the other
direction. With reverse loops, we can no
longer use this switch. Instead, we need a
Figure 3: An illustration
of the type of difficulty
that arises when a track is
put through a reverse loop.
Following polarities it will
be seen that the negative
side of the track will con-
nect to the positive side at
the end of the loop and
vice versa.
IIOV
AC
POWER
PACK
13
INSULATORS
Figure 4: Using insulators
on both the positive and
negative tracks a block is
created that is totally iso-
lated from the main track.
Using a separate power
pack will allow the train to
run through the block,
turn around, and return to
the main track.
u
MAIN
DIRECTION
i SWITCH
J
direction switch for the reverse loop and
another direction switch for the rest of the
track. By playing with these switches, we
can keep the polarities correct and prevent a
short circuit. This is easier to see in an
illustration. Assume that the train is coming
down the main track from the left of
figure 4 and that the track switch is posi-
tioned to the right so that the train will end
up going around the reverse block in a
counterclockwise direction. The polarities of
the main and reverse block on each side of
the A insulators are the same, so there is
no problem crossing the insulators. If we
leave everything the way it is though, we will
have a problem when the train hits the B
insulators, since the polarities are reversed
on opposite sides of the insulators. In this
case, while the train is on the reverse block,
we flip the main direction switch. This
reverses the polarity of the main track so
that it is the same as the reverse block's
polarity at the B insulators. Now the train
can leave the reverse block and go back onto
the main track with no problems. Suppose
the polarity of the reverse block had been
reversed when the train was coming down
the main track. In this case, we would have
had no problem leaving the reverse block,
but would not have been able to enter it in
REVERSE BLOCK
DIRECTION
SWITCH
the first place. The solution would be to flip
the reverse block direction switch while the
train was on the main track. This would
match up the polarities at the A insulators.
Then, after the train got onto the reverse
block, we would reverse the main direction
as we did before so that the train could
safely leave the reverse block.
Two items were omitted from figure 4 for
the sake of simplicity in the prior discussion.
At point C we would tie in the second power
pack and the block control switches of
figure 2. At point D we would need a 2 pole
2 position switch to allow either power pack
to control the reverse loop.
So much for train layouts and block
control! The only other major piece of
equipment on a model railroad is the track
switch, called turnouts in model railroad
terminology. Turnouts allow you to vary the
route that your train takes, which is cer-
tainly more interesting than watching your
train do nothing but go around in a circle. A
turnout represents the actual track that can
be switched. It physically can sit in one of
two states which are electrically controlled.
The electrical components for moving the
turnout are called switch machines. Figure 5
shows a typical turnout and switch machine.
The turnout contains a movable section. In
14
figure 5, the train will go straight. If the
movable section were pulled down, the train
would go to the left relative to its motion,
up the turnout track. The switch machine is
really just a pair of solenoid coils. A soft
metal bar with an S shaped groove slides
between the coils. The movable section of
the turnout has a lever connected to it. The
other end of this lever rides in the groove of
the sliding bar of the switch machine. In
figure 5, if the reverse switch was closed, coil
B would be energized and the soft bar would
slide to the right. The lever would ride in the
groove and be pulled down, thus pulling
down the movable section of the turnout.
Since the coils draw close to 1 A when
energized, they should only be energized
long enough to move the turnout. If left
energized for more than a few seconds, they
could overheat and burn out. For this
reason, push button switches are normally
used for controlling the switch machines.
The switch machines normally run off an
alternating current accessory power pack
and have no relation to the block system.
They represent a separate, isolated set of
circuits on the model railroad.
All of these electrical requirements may
sound somewhat confusing. Linn Westcott
has an excellent, very inexpensive paperback
book entitled How to Wire Your Model
Railroad from Kalmbach Publishing Com-
pany, 1959. This book, or one like it, should
be available at any hobby shop. Another
very good set of paperbacks is published by
Atlas Tool Company, a leading manufacturer
of model railroading equipment. Atlas has
also simplified the wiring for you. They sell
sealed switch units containing printed cir-
cuitry for all of the wiring I have discussed.
The Atlas selectors contain block control
circuitry, the Atlas controllers contain di-
rection control and reverse loop circuitry,
and the Atlas switch controllers contain the
turnout control switches. These devices are
inexpensive and have the ability to be
plugged together for handling any size train
system. All you do is connect your power
packs, block wires and switch machine wires
to the Atlas devices and your wiring is
complete. The Atlas books also diagram
track layouts, usually 6 to 8, from simple to
complex, give construction details, and show
how to wire them with the Atlas devices.
What more could you ask for?
Now that I have you hooked, or at least
interested in model railroading, let's take a
look at what we need to control this system
by computer. All of the principles discussed
so far still apply. The only additional item
that we need on the train layout . itself is
some way of knowing where the trains are.
Figure 5: The basic workings of a turnout and switch machine. The two coils
of wire move a piece of soft metal with a groove back and forth between
them. The switch machine rides in the groove. When coil B is activated, by
using the reverse mode, the metal is pulled into the B coil and the switch
machine slides down in the groove changing the position of the switch
machine.
The simplest approach would be to use
magnetic reed switches. As shown in fig-
ure 6, these switches are nothing but two
contacts, very close together, and scaled in a
glass envelope. If we place these switches at
intervals along the tracks and glue a small
magnet to the bottom of our trains, the train
going over the glass capsule will close the
switch. These switches, by the way, are
common in burglar alarm systems and other
proximity sensing devices. I will rci'cr to
these switches along the tracks as markers in
the remainder of this article.
The train control system to be discussed
is currently under development. So far, the
development has concentrated on the soft-
Figure 6: This is a mag-
netic reed switch which
can be used as a marker
along the track. The
switch consists of two con-
tacts that are enclosed
within a glass envelopt
The two metal contac,
are activated magnetically
when a car with a magnet
attached passes over.
BY T & E
GLASS ENVELOPE
~TX
SWITCH CONTACTS
(ACTIVATED BY MAGNET)
15
vccO>-
02 O
Ml O
M2 C>-
M3 C>~
M4 O-
M5 [>■
M6 O-
M7 C>-
M8 fZ>-
M9 D>-
MIO O-
fiii O-
MI2 C>-
MI3 [~>-
MI4 O
MI5 [3>~
MI6 O-
»RI
"|K
0 0
ETLG
CLK
INTE
R0
m
R2
R3
R4
R5
R6
IC I
8214
R7
ELR ENLG
INT
A0
a!
A2
BO
§1
B2
SGS
ECS
I
IC2
8214
CLK
INTE
RO
Ri
R2
R3
R4
R5
R6
R7
ELR ENLG
INT
A0
Al
A2
BO
Bi
B2
SGS
T
0
/77
R2>R3>R4>R5
IK ?IK ?IK ?IK
IC4
i>
RESET
STB
DO
Dl
D2
D3
D4
D5
D6
D7
CLR
DSI
8212
INT
D00
DOI
D02
D03
004
D05
D06
D07
MD
DS2
00000 000
-C>INT
-co
-o
-o
-o
8080
BIDIRECTIONAL
> BUS
-o
-o
Q
A 6
PRI0RITY_ 10
ARRAY EN
Figure 7: This circuit is used to encode
switches into marker numbers and generate
interrupt signals. All resistors are measured
in ohms and are 1/4 W.
TO 4 MORE 82I4S CASCADED TOGETHER
ware aspects, and most of the hardware
details are yet to be worked out. These I
must leave up to your ingenuity at the
moment. You will need a way of controlling
the switch machines. The October 1975
issue of BYTE, page 87, showed one way
this could be done with a flip flop, several
2N3766 transistors, and a oneshot multi-
vibrator. You will need a way of controlling
the block switches, allowing you to turn a
block off or to route power to it from any
of your power packs. You will need a way of
switching the direction controls, both main
and reverse loop, as discussed with figure 4.
Along with this, you will need a way of
reading the polarity between the current
block and the next block, probably using the
marker number as the address. Fortunately,
you only need this capability at entrances
and exits from reverse blocks. You will need
a way of controlling speed. This could be
done with a digital to analog converter, or
you could adapt the speed controller shown
in the January 1975 issue of Popular
Electronics, page 58. Last, but definitely not
least, you will need the marker system.
The markers, as mentioned earlier, are the
switches located along the track for sensing
the location of the trains. When the train
passes over a marker, an interrupt could be
generated. The interrupt software must be
able to read in a binary number identifying
which marker was hit. This could be accom-
plished on an 8080 based system by cas-
cading together Intel 8214 Priority Interrupt
ICs, as shown in figure 7. Ideally, we would
16
like a large number of markers. Although I
haven't the room to discuss this aspect, a
graphics display could be used so that the
track layout is displayed and each marker
would light up as the train passed it. For
this, we want many markers. The circuit of
figure 7 will allow up to 40, but needs five
8214 chips, at $15 each. Another possibility
would be to use a 256 word by 8 bit read
only memory and have the markers control
the address lines into the memory, which
would be programmed with the marker
numbers. I would be interested in hearing
from anyone who has a cheap way of
debouncing and encoding 256 switches into
a byte of data that could be read in by an
interrupt routine. For that matter, I would
be interested in hearing from people on any
of these hardware requirements, since I
haven't worked them out myself yet.
So much for hardware. The software
should, actually be easier to explain than
model railroading theory. The entire soft-
ware package is table driven. This makes it
easier to understand and easier to adapt to a
wide variety of train layouts. The four major
tables used are the marker table, the block
table, the switch table and the train table.
The marker table really controls most of the
system. Each marker on the track has a
corresponding entry in the marker table.
When the train hits a marker, an interrupt is
generated. Interrupts are probably preferable
to a polled system, since it is crucial that
none be missed and unless the marker event
is latched, a busy processor could miss it. If
your program is processing a console com-
mand and a train passes a marker before you
get to poll it, you could have real chaos. The
marker interrupt routine, then, would read
in the marker number and look it up in the
marker table. Table 1 shows the layout of an
entry in the marker table. If a graphics
display is used, MXY would be used to
update the display, showing the train at the
new marker location. MBLOCK would be
the pointer to the block table entry for the
block which contains this marker. MSETUP
indicates that this is the last marker in the
block. The software would go to the block
table, figure out the next block that the
train will enter, and issue a command to
apply power to that block (remember fig-
ure 2?). MFREE tells the software that the
marker is the first one in the block and
power should be removed from the prior
block. This is the reverse of MSETUP.
MFA and MFD are fractional accelerators
and fractional decelerators. Fractionals
represent a small change in the speed of the
train. Any marker can be set up to add or
subtract a fractional to the train's current
Label
Byte
Bit Meaning
1 to 8 marker number
1 to 8 block table entry displacement
1 to 8 stop number
1 setup next block indicator
2 stop indicator
7 apply fractional decelerator on stop only
8 release prior block indicator
1 to 4 fractional accelerator value
5 to 8 fractional decelerator value
1 to 8 XY coordinates for graphics display routine
Table I : Marker Table Information. The purpose of the marker table is to
organize the current information associated with each marker input from the
model railroad layout. The list of information shown here is described in the
text in more detail. The use of a graphic display of the layout is assumed by
putting in display coordinate fields (MXY), which might be omitted
otherwise. The basic marker entry information is repeated in this format for
each marker.
MMARKER
1 to 2
MBLOCK
3
MSTOPNO
4
MSETUP
5
MSTOP
5
MFDS
5
MFREE
5
MFA
6
MFD
6
MXY
7 to 8
Label
Byte
BBLOCK
1
BTRAIN
2
BREV
2
BPRIOR
3
BNEXT
4
Bit Meaning
1 to 8 block number
1 to 4 which train is currently in the block
8 reverse block indicator
1 to 8 prior block ID
1 to 8 next block ID
Table 2: Block Table Information. The purpose of the block table is to
organize the current information about each block in the model railroad
layout. The block is identified by its number. (Although this field might be
omitted if numbers and position in the table are made identical.) If the block
currently has a train, its number is identified. The topology of the track
network is reflected in the prior block and next block pointers.
speed. This would be used to speed up the
train as it goes up a hill, called a grade, or
slow it down on a downgrade. It could really
be used any place you wanted the train's
speed to automatically change. Fractionals
can also be used for programmed stops. The
MSTOP indicator in the marker table entry
tells the system that the train should stop.
However, a sudden stop would be unrealis-
tic, so we can use the fractional decelerator.
If the operator requests a stop at a particular
stop number and that stop number equals
MSTOPNO, the system will look at MSTOP
and MFDS. If MFDS is on, the fractional
decelerator will be applied, slowing down
the train. MFDS also will prevent the frac-
tional decelerator from being applied if a
stop was not requested. Eventually the train
will hit a marker that has the correct
MSTOPNO and has the MSTOP indicator on,
and the train will be stopped completely.
Each block on the track layout has a
corresponding block table entry, as shown in
table 2. The block table entry contains
indicators for what train is in the block and
whether the block is a reverse block (our
figures 3 and 4 discussion). The reverse indi-
cator will be used by the marker processing.
When power is to be applied to the next
17
Label Byte Bit Meaning
SSWITCH 1 1 to 8 switch number
SPOS 2 1 through or turnout indicator
SFROM 3 1to8 from block ID
STHRU 4 1to8 through block ID
STURN 5 1to8 turnout block ID
SNMKTHRU 6 1 to 8 setup next marker ID for through block
SNMKTURN 7 1 to 8 setup next marker ID for turnout block
SPMKTHRU 8 1 to 8 release prior marker ID for through block
SPMKTURN 0 1 to 8 release prior marker ID for turnout block
Table 3: Switch Table Information. The switch table entries describe each
switch in relation to the railroad layout by means of pointers to the "from, "
"through" and "turnout" blocks. This information, which is relatively fixed
for a given layout, is used to modify the prior and next block information in
the block table according to the settings of the switch. One such entry is
needed for each switch in the layout. (A roundhouse would have to be a
special case . ■ ■ )
BLOCK 2
MARKER I
i
INSULATORS
MARKER 2
MARKER 3
J L
BLOCK I BLOCK 3
Figure 8a: An example of a marker being between two blocks. In this type of
array the computer must only determine whether the train will go into
block 2 or 3.
BLOCK I BLOCK 2
BLOCK 4
Figure 8b: This figure is slightly more complex than figure 8a. In this type of
array the train may enter block 3 or block 2. The computer must determine
which block the train will enter. If it is block 3 the information for block 3
must be updated for the particular train as soon as the train has passed
marker I . If the train will enter block 2 next, however, the information for
block 2 must not be updated until the train has passed marker 2.
block, the software will check to see if either
the current or the next block has the reverse
block indicator on. If neither block is a
reverse block, power is applied to the next
block. However, if either block is a reverse
block, we must do additional processing.
Power is applied, but we have to worry
about the polarity. Therefore, we read in the
polarity between the two blocks, probably
using the marker number as the address for
the polarity interface. We cannot use the
block number, since the polarity will be
different at the two ends of the reverse
block. If, after reading the polarity between
the two blocks, we find that they are equal,
we are done. If they are different and the
current block is a reverse block, then we
must reverse the polarity of the main track.
If they are different and the current block is
not a reverse block, we must reverse the
polarity of the reverse block. These are the
same operations that we discussed with
figure 4, only the computer will do them
rather than the operator. The BPRIOR and
BNEXT fields in the block table entry are
pointers to the block table entries for the
prior and next block on the track layout.
These pointers are maintained and modified
by the switch processing.
When the operator requests that a par-
ticular switch position be changed, the soft-
ware will locate the switch entry in the
switch table. Table 3 shows the layout of a
switch table entry. SPOS, the position indi-
cator, will be toggled and the graphics
display, if used, will be updated to show the
new switch position. The new value of SPOS
will be output to the switch interface.
SFROM, STHRU, and STURN are used to
update the prior and next block fields of the
block table entries so that each block
entry points to its correct successor and
predecessor. SNMKTHRU, SNMKTURN,
SPMKTHRU, and SPMKTURN are used to
turn on and off the MSETUP and MFREE
indicators in the marker table. For example,
if the switch is set for turnout, MSETUP in
the marker pointed to by SNMKTHRU will
be turned off and will be turned on in the
marker pointed to by SNMKTURN.
SPMKTHRU and SPMKTURN do the same
with the MFREE indicator in the marker
table. The reason for this may not be
apparent, so let's look at an example. In
figure 8a, this processing would not be
needed. MSETUP in marker 1 would always
be on, and MFREE could be left on in both
marker 2 and marker 3 since there is no
other way into block 2 or 3 other than from
block!. However, figure 8b is a different
case. Here we have the switch in the middle
of a block. If the switch were set for the
18
turnout, the train would leave block 1 and
enter block 3. Marker 1 would have
MSETUP on and marker 4 would have
MFREE on. Now let's change the switch
position. The train will no longer go into
block 3. The switch processing would have
updated block Ts block table entry so that
block 2 was the next block. If we try to set
up the next block (block 2) according to
marker 1, we will be premature. Maybe there
is another train in block 2 at the moment,
since there could be quite a bit of track
between the switch and the beginning of
block 2. Likewise, if a train comes down
block 3 and tries to free the prior block
according to marker 4, we might have a
similar problem. The switch processing,
then, must turn off MSETUP in marker 1
and turn off MFREE in marker 4 if the
switch is set for through and turn them on if
the switch is set for turnout. In this par-
ticular case, markers 2 and 5 could have
MSETUP on all the time, markers 3 and 6
could have MFREE on all the time,
SNMKTHRU and SPMKTHRU will be zero,
and SNMKTURN and SPMKTURN will have
a 1 and a 4 respectively.
The train table of table 4 has one entry
for each train that you are running. This
table entry is used primarily for keeping
track, pardon the pun, of where each train
is. It specifies what block the train is in, the
last marker hit, the train's direction (forward
or reverse), the train's current speed, and the
port address for the train's power pack
interface. This interface would control the
speed, through digital to analog convenors
or similar, and the main and reverse block
direction controls. The train table entry
would be updated by marker processing and
by speed and direction commands issued by
the operator.
So far, we have discussed primarily the
automatic functions of the software. Now
let's look at the functions controlled by the
operator. We already discussed switches and
stops. That leaves us with direction and
speed. Suppose we want to reverse a train.
First, this command would not be allowed if
the train was moving, since we might cause a
derailment if we suddenly reversed a fast
moving train. Other than that, it's fairly
simple. We store an indicator in TDI R of the
train table entry to indicate that the train is
going in the reverse direction and then issue
the command to reverse either the main
polarity or the reverse block polarity, de-
pending on whether or not the train is
currently in a reverse block. From then on,
we reverse logically the meaning of the
MSETUP and MFREE indicators in the
marker table entries and we reverse logically
Label
Byte Bit Meaning
TTRAIN
1
1 to 4
train number
TDIR
1
8
direction
TBLOCK
2
1 to 8
current block ID
TMARKER
3 to 4
1 to 8
current marker ID
TSPEED
5
1 to 8
train's current speed
TPORT
6
1 to 8
IO port address for controller
Table 4: Train Table Information. Each train in the layout must also be
followed in the software as it runs its route. The information can be
formatted and referenced with a structure such as this. The details vary for
each train with time, as the train progresses through the layout.
the meanings of the prior and next block
pointers in the block table entries. There-
fore, we set up the next block when MFREE
is on and free the prior block when MSETUP
is on. BNEXT points to the prior block and
BPRIOR points to the next block.
Train speed control can be somewhat
more difficult. There are basically two ways
to control speed. The easiest would be to use
a digital to analog converter. Trains run on 0
to 16 VDC, so a converter would be needed
capable of providing this range at approxi-
mately 1 A per train to be run at a time.
Therefore, if you plan on running two trains
at the same time, you need a 0 to 16 VDC
supply rated at 2 A minimum. This idea
works well with the fractional system out-
lined earlier, but is not very realistic. The
operator would have to enter on the console
the voltage to be applied and the software
would output to the converter the correct
value. To gradually speed up a train would
keep the operator busy for a while entering
speed commands.
A more realistic approach would be to
enter an accelerate command that would
gradually speed up the train at a uniform
rate. When the proper speed is reached, the
operator would enter a hold command to
maintain the current speed. To slow down, a
decelerate command would cause the train
to gradually slow down, and the hold com-
mand would again be used to stop decel-
erating. This type of control could be
accomplished by adapting the circuit on
page 58 of the January 1975 Popular Elec-
tronics to operate as an IO device rather
than by push buttons. This complicates the
fractional system, since the fractionals were
intended to represent actual voltage quanti-
ties to be applied to the train's speed.
A similar approach could be to still use
digital to analog converters, but to have the
software periodically increment or decre-
ment the value applied to the converter if an
accelerate or decelerate command was in
effect. This method will satisfy both realism
and the operation of the fractionals, but
depends upon the construction of the soft-
19
Marker Interrupt Processing Routine
The M algorithm is used for marker interrupt
processing. It reads in the marker number, per-
forms operations on it, including block processing
(B algorithm) if necessary, determines any change
in speed and then returns from the interrupt.
Ml. Read the marker number input and look it
up in Marker Table.
M2. Use MB LOCK of Marker Table entry to
point to Block Table entry.
M3. Use BTRAIN of Block Table entry to point
to Train Table entry.
M4. Store marker and Block Table pointers in
TMARKER and TBLOCK.
M5. If TDIR=0 and MSETUP is on then go to
B1,
M6. If TDIR = 1 and MFREE is on then go to B1.
M7. If TDIR=0 and MFREE is on then go to
B11.
M8. If TDIR=1 and MSETUP is on then go to
B11.
M9. Send MXY to graphics display if it is used.
M10. If MFA > 0 then add MFA to TSPEED and
send TSPEED output to the speed
controller.
Mil. If MFD > 0 and MFDS is off then subtract
MFD from TSPEED and send TSPEED
output to the speed controller.
M12. If MFD > 0 and MFDS is on and stop has
been requested at MSTOPNO then subtract
MFD from TSPEED and send TSPEED
output to the speed controller.
M13. If MSTOP is on and a stop has been
requested at MSTOPNO then store 0 in
TSPEED and send TSPEED output to the
speed controller.
M14. Return from interrupt processing routine.
B
Block Processing Routine
The B algorithm is used for block processing of
the power controls. The algorithm determines the
voltage and polarity changes that are to be made
for the various blocks. Lines B1 to B10 set up the
next block for the train to enter it. Lines B11 to
B1 5 free the prior block that the train is leaving.
B1. If TDIR = 1 then use BPRIOR as the next
block pointer, else use BNEXT as the next
block pointer.
B2. If BTRAIN of the next Block Table entry =
TTRAIN then go to M7.
B3. If BTRAIN =£ 0 then stop system (there is a
train over run: two trains in same block!)
B4. Store TTRAIN in BTRAIN of the next
block.
B5. Send command output to the block con-
troller to power up the next block.
B6. If BREV of the current block and BREV of
the next block are both 0 then go to M7.
B7. Read polarity of tracks using MMARKER of
the current Marker Table entry as the
address.
B8. If polarity=0, then current and next block
polarities are the same so go to M7.
B9. If BREV of the current block = 1, then
output a command to reverse the main
polarity and go to M7.
B10. Output a command to reverse the reverse
block's polarity and go to M7.
B11. If TDIR=1 then use BNEXT as the prior
block pointer else use BPRIOR as the prior
block pointer.
B12. If BTRAIN of the prior block = 0 then go to
M9.
B13. Store 0 in BTRAIN of the prior block.
B14. Send command output to block controller
to turn off prior block and go to M9.
Switch Command Routine
The S algorithm performs the switch command
processing by resetting all of the markers that are
being affected by a particular train. It is called by
an operator command.
51. Look up the switch number in the Switch
Table.
52. Reverse value of SPOS (O=through,
1=turnout). i
53. If SPOS=0 then use STHRU as the pointer
to next block and go to S5.
54. Use STURN as the pointer to the next
block.
55. Store the pointer to the next block in
BNEXT of the Block Table entry pointed to
by SFROM.
56. If SPOS=1 then go to S14.
57. Turn off MSETUP in Marker Table entry
pointed to by SNMKTURN.
58. Turn on MSETUP in Marker Table entry
pointed to by SNMKTHRU.
59. Turn off MFREE in Marker Table entry
pointed to by SPMKTURN.
510. Turn on MFREE in Marker Table entry
pointed to by SPMKTHRU.
511. Send SPOS output to the switch controller
using SSWITCH as address.
512. If the graphics display is used then update it
to Show new switch position.
513. Return to operator command processor.
514. Turn off MSETUP in the Marker Table
entry pointed to by SNMKTHRU.
515. Turn on MSETUP in the Marker Table entry
pointed to by SNMKTURN.
516. Turn off MFREE in the Marker Table entry
pointed to by SPMKTHRU.
S'17. Turn on MFREE in the Marker Table entry
pointed to by SPMKTURN.
S18. Go toS11.
R
Reverse Direction Command Routine
The R algorithm performs the reverse direction
command processing. If the train is not moving,
the polarity of the block will be reversed and TDIR
will be logically inverted.
R1. If TSPEED in the current Train Table entry
^ 0 then indicate invalid request and return
to command processor.
R2. Reverse the present value of TDIR in
current Train Table entry.
R3. Use TBLOCK of the current Train Table
entry to point to the current Block Table
entry.
R4. If BREV of the current Block Table entry =
1 then go to R7.
R5. Send command output to reverse the
polarity of the main track.
R6. Return to operator processor.
R7. Send command output to reverse polarity of
reverse block.
R8. Return to operator processor.
20
ware to increment or decrement at a reason-
able pace.
Table 5 shows a list of operator com-
mands that might be used on a typical
computerized model railroad. The remainder
of this article is devoted to some algorithms
for the more important processes we have
discussed. Algorithms, if the term is un-
familiar, are simply flowcharts expressed in
words rather than in blocks and arrows.
Since this article is not presenting actual
code and is more directed to theory than to
bit by bit details, generalized algorithms
seem more appropriate. I hope this article
has increased your interest in the area of
model railroading and has given you some
ideas on how you can simulate, on a small
scale, the types of real time process control
systems that could be used on a large scale
to control an actual railroad."
Mnemonic Command meaning
A Tx accelerate train x
D Tx decelerate train x
H Tx hold train x at current speed
S Tx stop train x immediately
S Tx Sy stop train x at stop number y
FA xxx My set fractional accelerator value of xxx into marker y
FD xxx My set fractional decelerator value of xxx into marker y
FD xxx My,S same as above but also turn on MFDS
R Tx reverse train x
Sx toggle position of switch x
Ex My1,y2,--,yn establish stop x at markers y1 ,y2,-yn and turn on MSTOP in marker yn
Dx delete stop x
K kill system; emergency power off
C close down system; orderly stop of trains and power off
Table 5: Definition of a Command Language. Here is mnemonic set of
commands for control of the trains on a model railroad layout from a
terminal keyboard. When a general purpose keyboard is used, this sort of
sequence is required — although the particular commands defined here are
not necessarily the only set possible. Algorithms S and R (see separate boxes)
are command processing routines for switch toggling and reversal of trains,
two of the more complex commands in this list.
GLOSSARY
Algorithm: A method used to express the steps to
be taken in solving a problem. It may be expressed
in words, as a flowchart of blocks, lines and
arrows, or in other forms.
Block control: Sectioning up a railroad layout so
that multiple power packs can be used to run more
than one train on the tracks at a time.
Block table: A table used in the software for
controlling a model train layout. Each block on the
tracks has a corresponding entry in the block table.
Digital to analog converter: Commonly abbreviated
as DAC, the device takes as input a digital
value, typically an "n" bit binary number, and
outputs an analog signal in the form of a variable
voltage corresponding to the digital input value.
Fractionals: As used in this article, a fractional is a
4 bit binary number representing a small change in
the speed of the train. It is used for automatic
speed changes under program control.
Graphics display: A video display device that can
display lines, curves and drawings rather than just
characters. In a train system, a graphics display
could be used to show a real time diagram of the
train layout and where each train is located.
Insulators: In a train layout, insulators are used to
isolate sections of track in order to use block
control. Since power is supplied to the train
through the tracks, insulators are placed between
sections of track so that each section can be
controlled independently.
Markers: Switches located on the track that are
activated by the passing of a train. These markers
are used by the software to keep track of where
the trains are.
Marker table: A table used in the software,
containing an entry for each marker on the train
layout.
Polarity: As used in this article, polarity refers to
which track is positive and which track is negative.
Normally, this is not really important, except in
the case of reverse loops, where the polarity
between two adjacent blocks on the layout might
be different, resulting in a short circuit when
crossed by the train.
Reverse loop: Or reverse block; this is where a
section of a track will allow a train to go around in
a loop and end up on the same track but going in
the opposite direction. Special handling of these
cases is needed.
Solenoid: A coil of wire which acts as an electro-
magnet. When current is applied to the coil, a bar
of soft metal will be attracted toward the magnet.
In model railroading, solenoids are part of a switch
machine.
Switch machine: A solenoid activated mechanism
attached to a turnout, used to move a section of
track so that the route of the train can be
modified.
Switch table: A table used in the software,
containing an entry for each switch machine and
attached turnout on the track.
Train table: A table containing an entry for each
train that is running on the train layout (also, the
physical structure on which your train layout is
built).
Turnout: A movable section of track, used to
modify the route of the train. A turnout allows the
train to go in one of two possible directions. A
switch machine is used to move the turnout. A
turnout has a normal position, which is the
direction most commonly taken, and a reverse
position, which is the less frequently used position.
In this article, I have also used turnout to refer to
the reverse position, and through to refer to the
normal position.
21
Introducing Apple II.
SP Mi" Mr
■»>•■«
M,
You've just run out of excuses
for not owning a personal computer.
Clear the kitchen table. Bring
in the color TV. Plug in your new-
Apple II? and connect any standard
cassette recorder/player. Now you're
ready for an evening of discovery in
the new world of personal computers.
Only Apple II makes it that
easy. It's a
complete, ready to use computer, not a
kit. At $1298, it includes video gra-
phics in 15 colors. It includes 8K bytes
ROM and 4K bytes RAM -easily
expandable to 48K bytes using 16K
RAMs (see box). But you don't even
need to know a RAM from a ROM to
use and enjoy Apple II. For example,
it's the first personal computer with
a fast version of BASIC permanently
stored in ROM. That means you can
begin writing your own programs the
first evening, even if you've had no
previous computer experience.
The familiar typewriter-style
keyboard makes it easy to enter your
nstructions. And your programs can
be stored on— and retrieved from—
mdio cassettes, using the built-in
cassette interface, so you can swap
with other Apple II users.
You can create dazzling color
displays using the unique color gra-
phics commands in Apple BASIC.
Write simple programs to display
beautiful kaleidoscopic designs. Or
invent your own games. Games like
PONG— using the game paddles,
supplied. You can even add the dimen-
sion of sound through Apple IPs
built-in speaker.
But Apple II is more
than an advanced, infinitely
flexible game machine. Use
it to teach your children
arithmetic, or spelling
for instance. Apple II
makes learning fun.
Apple II can also
manage household finances,
chart the stock market or
index recipes, record collections, even
control your home environment.
Right now, we're finalizing a
peripheral board that will slide into
one of the eight available mother-
board slots and enable you to compose
music elec-
tronically.
And there
will be other
peripherals
announced
soon to
allow your
Apple II to
talk with another Apple II, or to inter-
face to a printer or teletype.
Apple II is designed to grow
with you as your skill and experience
with computers grows. It is the state
of the art in personal computing today,
and compatible upgrades and peri-
pherals will keep Apple II in the fore-
front for years to come.
Write us today for our detailed
brochure and order form. Or call us
for the name and address of the
Apple II dealer nearest you. (408)
996-1010. Apple Computer Inc.,
20863 Stevens Creek Boulevard,
Bldg. B3-C, Cupertino,
California 95014.
Apple II™ is a completely self-contained
computer system with BASIC in ROM,
color graphics, ASCII keyboard, light-
weight, efficient switching power supply
and molded case. It is supplied with
BASIC in ROM, up to 48K bytes of
RAM, and with cassette tape, video and
game I/O interfaces built-in. Also in-
cluded are two game paddles and a
demonstration cassette.
SPECIFICATIONS
• Microprocessor: 6502 (1 MHz).
• Video Display: Memory mapped, 5
modes— all Software-selectable:
• Text— 40 characters/line, 24 lines
upper case.
• Color graphics— 40hx48v, 15 colors
• High-resolution graphics— 280hx
192v; black, white, violet, green
(12K RAM minimum required)
• Both graphics modes can be selected
to include 4 lines of text at the bottom
of the display area.
• Completely transparent memory
access. All color generation done
digitally.
• Memory: up to 48K bytes on-board
RAM (4K supplied)
• Uses either 4K or new 16K dynamic
memory chips
• Up to 12K ROM (8K supplied)
• Software
• Fast extended BASIC in ROM with
color graphics commands
• Extensive monitor in ROM
•I/O
• 1500 bps cassette interface
■ 8-slot motherboard
• Apple game I/O connector
• ASCII keyboard port_
• Speaker
• Composite
video
output
Apple II is also
available in board-only
form for the do-it-yourself hobbyist. Has
all of the features of the Apple II system,
but does not include case, keyboard,
power supply or game paddles. $598.
PONG is a trademark of Atari Inc.
*Apple II plugs into any standard TV using
an inexpensive modulator (not supplied).
_4-
apple computer inc.
Order your Apple II now.
Use this order form to get your Apple II fast. As a special offer for
those who order now, we will include free a custom vinyl carrying case
(a $50 value). And we will also pay shipping charges to anywhere in the
continental United States.
Apple II Price List.
RAM
Complement
Apple II
System
Calif. Residents
Add
Apple II
Board-only
Calif. Residents
Add
4K
$1,298.00
$ 84.37
$ 598.00
$ 38.87
8K
1,398.00
90.87
698.00
45.37
12K
1,498.00
97.37
798.00
51.87
16K
1,698.00
110.37
978.00
63.57
20K
1,778.00
115.57
1,078.00
70.07
24K
1,878.00
122.07
1,178.00
76.57
32K
2,158.00
140.27
1,458.00
94.77
36K
2,258.00
146.77
1,558.00
101.27
48K
2,638.00
171.47
1,938.00
125.97
Memory is offered at a 20% savings when ordered with the system-or board-as reflected in the prices above.
Additional RAM can be easily added-in at a later date as your needs develop.
One set 4K chips (4K bytes) $125
One set 16K chips (16K bytes) $600
Prices and specifications subject to change without notice.
^cippkz computer inc.
9n«fi'* Qtmmrc Pr^Bt Rhrrl R3.P
20863 Stevens Creek Blvd., B3-C
Cupertino, California 95014
(408) 996-1010
Order Form
□ Please send me an Apple II System
□ Board Only
with K bytes of RAM (4K minimum) at $.
California Residents add 6.5% tax
Total $.
Name _
Address
City
.Zip
State
Phone
Shipping Address (if different)
□ Cashier's check or money order enclosed.
(Please allow 2 additional weeks for personal checks.)
Please charge to my
□ BankAmericard
□ VISA
□ Master Charge
Card Number :
Expiration Date
Signature
Mail to: Apple Computer Inc., 20863 Stevens Creek
Blvd., B3-C, Cupertino, California 95014
Circle 7 on inquiry card.
Photo 1: Two different shots from the balcony of the Civic Auditorium show the extent of the crowd. At the end of the show,
chaircreature Jim Warren announced that 12,800 people had attended.
Random Observations and Conversations
at the First West Coast Computer Faire
Notes and Photos by Lawrence F Willard
The kids monopolized the computer
games most of the time, and were better in
their scoring than most of the adults. Said
one man to another:
"Those kids have been at the keyboard
for 1 5 minutes; shall we push 'em out of the
way?"
"No," said the other. "They're doing a
helluva lot better than I know I could do."
There were several variations of Star Trek
in evidence. At the Processor Technology
booth one frustrated kid kept getting this
printout whenever he entered a command:
"Captain, I'm afraid your last command
made no sense."
He was lucky. A kid about 12 years old
playing Star Trek at the Vector Graphic
Inc booth apparently made a king sized error
and got this printout:
"Thanks to your bungling the galaxy has
been destroyed by the Klingon War Fleet.
You are demoted to cabin boy. Try again."
The boy turned around and saw me
watching him.
"Don't say anything," he growled.
These games reveal a lot about people to
dedicated people watchers like me. At the
National Semiconductor booth a computer
was set up to plot, on a screen, a graph of
the player's physical, emotional and intellec-
tual cycles. You were asked to key in your
birth date and to indicate over how many
days you wanted the chart plotted. I noted,
curiously, that some people used arbitrary
dates or somebody else's birth date rather
than their own. Are some people reluctant
Larry Willard, who
writes regularly for
Yankee magazine (Dublin
NH), acted as BYTE's rov-
ing eye at the First West
Coast Computer Faire held
in San Francisco's Civic
Auditorium on April 16
and 17 of this year. Here
are Larry's notes on
Random Observations and
Conversations at the event.
Photo 2: The mild, unassuming
roll top desk at the left of this
sequence hides an intelligence.
For, when all the doors and
slides of this "desk" by RDC En-
terprises (8352 Stanford Av,
Garden Grove CA) are opened,
they reveal an experimenter-
oriented computer with built-in
Altair bus extender card at desk
level, a keyboard at desk level
and video monitor. The actual
computer mainframe is below
desk level behind doors, and the
bottom drawer can hold the ex-
perimenter's tools.
25
Rich Man, Poor Man, Merchant, Physician,
Teacher, Lawyer, Student, Musician....
There's MICOM Floppy Disk
System for Everyone!
More Uses
People from every walk of life are
adding iCOM® Floppy Disks to their
microcomputers for such diverse
tasks as payroll, inventory control,
mailing lists, game playing, record
keeping, parts ordering . . .
We've uncovered some innovative
applications, too: The sailboat architect
who puts equations and algorithms on
an iCOM disk to test his nautical
theories ; the student who has auto-
mated a bowling alley; the iCOM
dealer who designed an environmental
control system for a university.
More Speed
These users have found iCOM
floppies to be much faster and more
versatile than cassette or paper tape.
WithiCOM,
programs can
be loaded in
seconds; files
updated in
minutes;
hundreds of
programs can
be stored on j
a single disk. I
More Models
iCOM has Frugal Floppies™, Dual
Floppies, Microfloppies™ (using the
new 5 Vi " diskette), and other new
approaches to floppy disk systems.
Each is hardware and software
compatible with Altair™, IMSAI, Poly
88, Sol-20 and other microcomputers
using the Altair S-100 bus format.
More Software
Then there's iCOM's famous
software: Powerful field-proven
FDOS-II with macro-assembler, string-
oriented text editor, and file manager.
Plus easy-to-use compatible 8K Disk
BASIC. Each with super features such
as : named variable length files, auto-
file create, open and close, multiple
merge and delete . . . and more.
More Backup
We've been building floppies for
microcomputers for more than 3 years .
Long before the rest. Thousands of
systems are operating perfectly in the
field. And we're part of Pertec
Computer Corporation, one of the
largest manufacturers of peripherals,
microsystems, data entry products
and data processing systems. We'll be
around whenever you need us.
More Dealers
Maybe not in quantity, but in quality.
We've chosen our dealer network
carefully to assure you of assistance
every step of the way. Our prices are
right. Our delivery is
fast. Our dealers are
experienced and
knowledgeable.
Must Reading
Our free booklet,
"What a Floppy Disk
Can Do for You"
is must reading.
Send for yours today
or visit your dealer.
po
v*
•*«*•
V3*.
B*
(*»
0f&
© 1 97 7. Pertec Compuler Corporation
v®
miCROPERIPHERRlS
a division of Pertec Computer Corporation
6741 Variel Ave., Canoga Park, CA 91303 U.S.A.
Tel . (213) 348-1391 TWX 910-494-2788
There's an iCOM
for Everyone
at these
Computer Stores...
ARIZONA
INDIANA
Byte Shop
Data Group
Tempe
IndianaDolis
(602)894-1129
(317)842-2983
CALIFORNIA
KENTUCKY
Orange Computer Ctr.
Cybertronics
Costa Mesa
Louisville
(714)646-0221
(502)499-1551
Byte Shop
Lawndale
MASSACHUSETTS
(213)371-2421
American Used
Computer
Byte Shop
Boston
Mt. View
(617)261-1100
(415)969-5464
Computer Mart
MINNESOTA
Orange
Microprogramming
(714)633-1222
Burnsville
Byte Shop
(612)894-3510
Pasadena
NEW HAMPSHIRE
(213)684-3311
Computer Mart
Byte Shop
Nashua
Santa Barbara
(603) 883-2386
(805)966-2638
NEW JERSEY
Byte Shop
Santa Clara
Computer Mart
Iselin
(408) 249-4221
(201)283-0600
Byte Shop
San Diego
NEW YORK
(714)565-8008
Synchro Sound
Hollis
Byte Shop
San Rafael
(212)468-7067
(415)457-9311
Computer Mart
NYC
(212)686-7923
Computer Room
San Jose
(408) 226-8384
NORTH CAROLINA
Byte Shop
Digital Dynamics
Tarzana
Charlotte
(213)343-3919
(704)374-1527
Tech-Mart
PENNSYLVANIA
Tarzana
(213)344-0153
Byte Shop
Brymar
Byte Shop
(215)525-7712
Thousand Oaks
(805) 497-9595
SOUTH CAROLINA
Byte Shop
Carolina Computers
Walnut
Columbia
(415)933-6252
(803) 798-6524
Byte Shop
TEXAS
Westminster
(714)894-9131
Microstore
Richardson
COLORADO
(214)231-1096
Prime Radix
Microtex
Denver
Houston
(303) 573-5942
(713)780-7477
FLORIDA
Computer Terminal
El Paso
Byte Shop
(915)542-1638
Miami
(305) 264-2983
WISCONSIN
The Computer Store
Madison Computer
Jacksonville
Madison
(904)725-8158
(608) 255-5552
ILLINOIS
CANADA
Itty Bitty Machine
Computer Mart
Evanston
Toronto
(312)328-6800
(416)484-9708
Numbers Racket
Computer Place
Champaign
Toronto
(217)352-5435
(416)598-0262
Champaign Computer
Champaign
(217)359-5883
miCROPERIPHERfllS
6741 Varlel Ave., Canoga Park, CA 91303 U.S.A.
Tel. (213) 348-1391 a divison of Pertec Computer Corporation
O
oo
Photo 3: The kid at the keyboard of this I MSA I 8080 under the
watchful eye of Lynn Stone is Bob Bowdige, a fifth grader at
Rollingwood School in San Bruno. A t this school, 200 students
each week study BASIC programming. The school was invited to
become part of the exhibit at the Action Audio Electronics booth
at the show.
to know what their cycles are, or are they
reluctant to have other people see when
their highs and lows occur, a privacy thing,
perhaps? Anyway, I saw a pretty young lady
who couldn't be out of her 20s key in a
Photo 4: Victoria Van
Buskirk, 10, with her
father Thomas, a pro-
grammer at Lockheed in
Sunnyvale CA, in the Re-
creational Computer
Centers booth. Tom, with
his interests in computer
games and home account-
ing problems, plans to
acquire a computer.
27
Photo 5: The husband and wife team of Ellen and Allen Penn (he's president,
she's VP and secretary of Sylvanhills Laboratory Inc, I Sylvanway, Box 239,
Strafford MO 65757) demonstrate computer controlled plotters to Dick
Speer of Northwest Computer Cinema. (For more details on the plotter kit,
see BYTE January 1977 page 85.) Dick has a 6502 based computer similar
to the KIM which the Penns are using in this setup; he wants to use it for
computer controlled graphics.
birth date of October 9 1912. An arbitrary
date? The birth date of a parent? Only she
knows. The computer took a fair amount of
time to figure it all out, but finally traced
the patterns on the screen for a 20 day per-
iod.
At the Advanced Technology Research
Associates booth there were flashing space
jewels and Plexiglas ray guns that lit up with
a pulsing bright colored light when the trig-
ger was pulled. These fascinated kids and
grownups alike, only at 24 bucks and on up
the kids weren't buying. The older people
were, though. I asked one guy what he
planned to use his space ray gun for.
"I'm a magician," he said. "I'll find a use
for it on stage."
Another guy wanted to know if the space
jewels were waterproof. He thought it might
be interesting to drop one of the little flash-
ing pendants into his tropical fish tank, or
into a pitcher of his favorite iced beverage.
They aren't waterproof; the battery com-
partment would be flooded.
Like a lot of other people, I had a com-
puter portrait made— you stand in front of a
TV camera, your image is held on the TV
28
OUR DEALERS
NORTHEASTERN STATES
Computer Workshop, Rockville, MD; Computer Mart,
Waltham, MA; Iselin, NJ; Hoboken Computer Works,
Hoboken, NJ; Audio Design Electronics, New York,
NY; Byte Shop East, Levittown, NY; Computer Corner,
White Plains, NY; Computer Enterprises, DeWitt, NY;
Fayetteville, NY; Computer Mart ot New York, New
York, NY; Computer Shoppe, Middle Island, NY; Ithaca
Audio, Ithaca, NY; Byte Shop, Bryn Mawr, PA; Personal
Computer Corp., Frazer, PA
SOUTHEASTERN STATES
Computer Hut, Hialeah, FL; Delta Electronics, Leesburg,
FL; Douglas Computer Systems, Jacksonville, FL;
Economy Computing Systems, Orlando, FL; Electronic
Shop Inc., Melbourne, FL; Microcomputer Systems Inc.,
Tampa, FL; Computer Systems Center, Atlanta, GA;
Computer Electronics, Baton Rouge, LA; Byte Shop,
Columbia, SC
MIDWESTERN STATES
American Microprocessors, Prairie View, IL; Bits and
Bytes, Posen, IL; Itty bitty machine company, Evanston,
IL; Lllllpute Computer Mart, Skokie, IL; Numbers
Racket, Champaign, IL; Data Domain, Bloomington, IN;
Home Computer Center, Indianapolis, IN; Micro Bus
Inc., Cedar Rapids, IA; Data Domain, Louisville, KY;
Computer Mart, Royal Oak, Ml; Computer Systems,
St. Clair Shores, Ml; General Computer, Troy, Ml;
Computer Depot, Minneapolis, MN; Computer Room Inc.,
Eagan, MN; High Technology, Oklahoma City, OK;
Milwaukee Computer Store, Milwaukee, Wl
WESTERN STATES
Bits & Bytes Computer Shop, Phoenix, AZ; Personal
Computer Place, Mesa, AZ; Affordable Computer Store,
Santa Clara, CA; A-VIDD Electronics, Long Beach, CA;
Bits n Bytes, Fullerton, CA; Byte Shop, Burbank, CA;
Fresno, CA; Lawndale, CA; Long Beach, CA; Palo Alto,
CA; Pasadena, CA; Placentia, CA; San Diego, CA; San
Jose, CA; San Rafael, CA; Santa Clara, CA; Tarzana, CA;
Thousand Oaks, CA; Walnut Creek, CA; Westminster,
CA; Computer Center, Costa Mesa, CA; Computer
Center, San Diego, cA; Computer Components, Van
Nuys, CA; Computer Electronics, Santa Barbara, CA;
Computer Emporium, Newport Beach, CA; Computer-
land, San Leandro, CA; Computer Mart, Orange, CA;
Computer Playground, Westminster, CA; Computer
Power and Light, Studio City, CA; Computer Store ot
San Francisco, San Francisco, CA; Dunston Enter-
prises, Redding, CA; Executive Office Equipment,
Pasadena, CA; Micro Computers, Fountain Valley, CA;
Microsystems Engineering, San Francisco, CA; Sunny
Sounds, San Gabriel, CA; Sunshine Computer, Carson,
CA; Upland Computer Labs, Upland, CA; Xlmedla,
San Francisco, CA; Byte Shop, Boulder, CO; Engle-
wood, CO; Mighty Mini Company, Denver, CO; Micro-
computer Systems of Hawaii, Honolulu, HI; Small
Computer Systems, Honolulu, HI; Computer Mart of
West Texas, Lubbock, TX; Computer Shop, San Antonio,
TX; Computer Terminal, El Paso, TX; Electronic Specialty,
Houston, TX; Houston Computer Mart, Houston, TX;
KA Electronic Sales, Dallas, TX; Micro Store, Richard-
son, TX; Vanguard Systems, San Antonio, TX
FOREIGN
Microtech Computers, Winnepeg, Manitoba, Canada;
Haywood Electronic Associates Ltd., Northwood,
Middlesex, England; Instrumatlc, Geneva, Switzerland.
cch g3A?hc inc.
790 HAMPSHIRE ROAD • A + B
WESTLAKE VILLAGE, CA 91361
Not Affiliated With Vector General
Circle 9 on inquiry card.
THE PERFECT MICROCOMPUTER
'*«*«»*«*.
cCC031
■ ■
It's a two touch affair
VECTOR 1 is based on the 8080A Microprocessor and S-100 Bus -
EASY TO ASSEMBLE, EASY TO ACCESSORIZE, EASY TO BUY AND VERY EASY TO OPERATE.
lOR G=?APHC illC.
717 LAKEFIELD ROAD, SUITE F
WESTLAKE VILLAGE, CA 91361 • (805) 497-0733
Photo 6: Terry Belcher of
Advanced Technology Re-
search studies a map of
world conquest for the
color video game "Risk"
which was being run at the
Compucolor booth.
screen until it can be scanned for a computer
printout. In about a minute the printer rolls
it out and it is torn off and handed to you.
The guy in front of me in line made a pro-
duction out of it. He was bearded, and he
wanted a profile shot with a pipe in his
mouth and his hand up to it in a studied
pose. He explained that he wanted it for his
office door.
There were a couple of booths playing
computer music and the sound was great,
even if the repertoire was a bit limited.
About the 15th or so time you've heard a
particular tune during the day you can draw
the waveforms of each note. But the perfor-
mance was pretty good. Solid State Music's
booth was playing such tunes as "The Flight
of the Bumblebee," Bach's "Little Fugue in
G Minor," "Blues in F," "It's a Small
World," and "Maple Leaf Rag." Try those
on your computer.
Footweary after awhile, I went into the
cafeteria, got some coffee, and sat down at
a table and got into a conversation with two
men sitting there. They were Manabu
Uyehara and George M Hirota, who have the
Radio Shack franchise in Honolulu. They
had flown to San Francisco especially for
the Faire. Both men have had previous com-
puter experience, and they are anxious to
carry computers in their store.
I moved to another table and met Scott
M Dickson, a computer programmer in the
dental school of the University of Michigan.
He wants a computer to experiment with.
He thinks dentists could use them for pa-
tients' records and for billing.
Coming from the cafeteria I stopped at a
booth offering a selection of fine prints and
etchings done in sort of a science fiction-fan-
tasy style. One of them, I thought, would
look especially fine in my study. Before I
could ask how much it was, somebody else
did.
"Six-fifty," said the young artist.
Real reasonable, I thought, and moved
forward to buy one.
The man who had asked how much, then
asked:
"Six hundred and fifty dollars?"
The artist said that was correct.
I walked away.
That's more than most of the computers
were selling for."
Photo 7: Some floor shots.
1 rtCHMCAl
[MWJN
-LM*t
IS YOUR DOLLAR BUYING
AS MUCH POWER & FLEXIBILITY
AS TDL'S XITAN SYSTEMS PROVIDE?
OUR CUSTOMERS SAY
THINGS LIKE THIS
ABOUT TDL PRODUCTS:
"... the best CPU board I've put i(»jjt'tfH"f . . . exeellenl parts ... .
IRC
C ,Hiil)ri(ii;c, Mass.
KMM
Bella Vista, Ark.
"... hif»h quality components, good engineering & complete
WP
Seattle, Wash.
Col. L)WW
Santa Maria, Calif.
SK-L
Boston, Mass.
alpha 1
When we combined our highly praised /PU board and our System Monitor Board, we
defined the standard for the industry; we integrated more power and flexibility in two slots of
our motherboard than most other systems can muster using five or more boards. When we
put this setup into our rugged aluminum case we created the first XITAN system, the alpha 1.
By adding a CRT terminal and or teleprinter you will have a complete computer system.
KIT: $76!) ASSEMBLED & TESTED: $1039
XITAN
* alpha 2
i ■:*'*■
,rt
By adding a ZI6 memory module and our PACKAGE A software to the alpha 1 we created a
second XITAN system, the alpha 2. Thus, a complete and extremely powerful micro-computer
system emerges well worthy of you who are operating at the most sophisticated levels. The
XITAN alpha 2 provides you with 18K of RAM, 2K of ROM, 2 serial I O ports, 1 parallel I O
port, our 1200 baud audio cassette interface as well as our extraordinarily powerful software
package which includes 8K Basic, the Text Output Processor, the /apple Text Editor and the
Relocating Macro-Assembler. Add your own I O device and GO... with the most powerful
and flexible micro-computer package ever offered.
KIT: $t369 ASSEMBLED & TESTED: $1749
IF YOU ARE A BEGINNER, YOU WON'T EASILY OUTGROW THE XITAN SYSTEM.
IF YOU ARE AN ADVANCED USER, YOU WILL DISCOVER XITAN IS EXACTLY WHAT YOU NEED.
Circlu 1 1) on inquii s card.
'Write for descriptive brochure on the XITAN alpha series
and system software. When you ask at your dealer, say "ZY-TAN."
ORDERING INFORMATION: Send check, money order or BankAmericard, Master Charge
current number and expiration dale. Shipping is usually made via UPS or UPS Blue Label.
Specify other arrangements if you wish. Prepaid orders are shipped postpaid.
RESEARCH PARK 8LDGH 1 101 STATE ROAD
PRINCETON, NEW JERSEY 08540 (6091 9210321
What's
New?
A New 16 Bit Personal Computing
System
EBNEK Inc, 254 N Washington St,
Wichita KS 67202, has recently an-
nounced the new EBNEK 77 system.
This system, available for $2770 in
kit form or $3800 assembled and tested,
features the 16 bit TMS9900 processor
manufactured by Texas Instruments
Inc. What EBNEK has done is to design
a finished package around the TMS9900
with the following characteristics:
• TMS9900 processor board.
• 16 K bytes of programmable
memory on two 8 K byte boards.
• 8 K bytes of EROM socket
capacity on one board, with 2 K
bytes of operating system soft-
ware supplied (ie: room for 6 K
bytes of user defined EROM
programs).
• Video display board with tele-
vision monitor.
• IO interface board with keyboard
interface, eight bits of parallel
IO, serial data port with data rate
generator, and cassette modem.
• Cabinet and power supply
motherboard.
• Phi-Deck tape transport with
firmware support.
• 'ASCII keyboard and case.
The design of the system is modular,
with an addressing space limitation
of 64 K bytes, and a design limit of
128 K bytes using memory bank switch-
ing. (Power adequate for a full 128 K
bytes is provided as a standard feature
according to the company.)
Cabinets
for Electronic Systems
CX-9 Series
Standard cabinets for
monitors, keyboards,
and electronic systems.
Steel and aluminum construction.
Use cabinets individually or
interlock to form complete systems.
Call or write for complete catalog.
V>lf») BACKER-LORING CORPORATION
I A^AwJ 65 WALNUT STREET, PEABODY, MASS. 01960 • 617-531-3600
The video display provides 15 lines
of either 32 .or 64 characters, generated
with a 7 by 9 dot matrix. The display
also has a point graphics mode allowing
a 256 by 240 dot display driven from an
8 K byte segment of main memory.
The display and processor are inter-
leaved so that operation of the proc-
essor does not break up the picture
with visual hash, allowing programmed
updates to occur while information is
being displayed.
This product looks like a significant
one for the personal computing user
who wants the ultimate in microproc-
essor execution speed and performance.
The TMS9900 architecture includes 16
general purpose work areas at arbitrary
memory locations which use a short
form of addressing. It has the unique
characteristic of built-in multiply and
divide operations which take (worst
case without wait states, using 3 MHz
clock) 17 and 41 us to evaluate 32 bit
results of 16 bit operands. Individuals
with real time computational applica-
tions (as in voice recognition, scene
analysis, electronic music generation)
will find the 9900 architecture quite
useful. In addition to the physical con-
figuration, EBNEK's announcement of
the EBNEK 77 describes availability
of an assembler, editor, utilities and a
user's software library."
Circle 631 on inquiry card.
Polyphonic Music Generator Board
A new interface board designed
for music generation called the SRS-320
has been announced by Stillman Re-
search Systems, POB 14036, Phoenix
AZ 85063, for $175. The board, which
can serve as the basis for a computerized
music synthesizing system, is Altair
bus compatible and can generate up to
four musical notes simultaneously over a
four octave range. This is sufficient to
generate most elementary chords and
inversions. The SRS-320 is priced at
$175, and a demonstration cassette of
the board is available for $3, as well as
a variety of other music generation
electronics."
Circle 632 on inquiry card.
New Vector Catalog Available
Vector Electronic Company Inc's
1977 catalog is now available, listing
prices and descriptions of the entire
Vector product line, including printed
circuit cards, terminals and pins, bread-
boarding kits, wiring pencils and so
on. Of special interest to the computer
experimenter is the company's new cord-
less rechargeable wire wrap tool called
Wrap and Strap. The catalog is avail-
able free from Vector Electronic Com-
pany Inc, 12460 Gladstone Av, Sylmar
CA 91342, and no serious experimenter
would want to be without it."
Circle 633 on inquiry card.
Circle 1 1 on inquiry card.
32
The POLY 88
Microcomputer System
PolyMorphic Systems now offers the complete, assembled,
personal computer system— the POLY 88 System 1 6. A full
1 6K system with high speed video display, alphanumeric
keyboard, and cassette program storage. A BASIC soft-
ware package providing the most advanced features avail-
able in the personal computing market. Features like PLOT
and TIME, which utilize our video graphics and real-time
clock. Others like VERIFY, so that you know your tape is
good before you load another. Or input type-ahead so you
can tell your program to run while the tape is still loading (it
stores up to 64 characters of commands or question re-
sponses to be executed). All these plus a complete pack-
age of scientific functions, formatting options, and string
capabilities. With the POLY 88 System 1 6 you can amaze
your timesharing friends the very first night!
Polymorphic Systems 11 K BASIC — Size: 1 1 K bytes.
Scientific Functions: Sine, cosine, log, exponential, square root,
random number, x to the y power.
Formatted Output • Multi-line Function Definition • String
Manipulation and String Functions • Real-Time Clock • Point-
Plotting on Video Display • Array dimensions limited by mem-
ory • Cassette Save and Load of Named Programs • Multiple
Statements per Line • Renumber • Memory Load and Store •
8080 Input and Output • If Then Else • Input type-ahead.
Commands: RUN, LIST, SCR, CLEAR, REN, CONTINUE
Statements: LET, IF, THEN, ELSE, FOR, NEXT, GOTO, ON, EXIT,
STOP, END, REM, READ, DATA, RESTORE, INPUT, GOSUB, RE-
TURN, PRINT, POKE, OUT.
Built In Functions: FREE, ABS, SGN, INT, LEN, CHR$, VAL, STR$,
ASC, SIN, COS, RND, LOG, TIME, WAIT, EXP, SORT, CALL, PEEK,
INP, PLOT.
Systems Available. The POLY 88 is available in either kit or as-
sembled form. It is suggested that kits be attempted only be per-
sons familiar with digital circuitry.
System 2: is a kit consisting of the POLY 88 chassis, CPU, video
circuit card, and cassette interface. Requires keyboard, TV moni-
tor, and cassette recorder for operation. $735
System 16: consists of an assembled and tested System 2 with
1 6K of memory, keyboard, TV monitor, cassette recorder, 1 1 K
BASIC and Assembler on cassette tapes. $2250.
System 0: The circuit cards an S-1 00 mainframe owner needs to
be compatible with the POLY 88 software library. System 0 con-
sists of the central processor card with monitor ROM, the video cir-
cuit card, and cassette interface, all in kit form. $525.
Prices and specifications are subject to change without notice.
California residents add 6% sales tax.
460 Ward Drive
Santa Barbara, Ca. 93111
(805) 967-2351
Technical
Fopuro
Peter G Formaniak
David Leitch
Mostek
POB 169
Carrollton TX 75006
A Proposed Microprocessor
Software Standard
Many people are concerned about the
need for standardization in the microproc-
essor industry. One obvious source of
standards is people who are seriously de-
signing and supporting microprocessors.
The following text was provided by Mostek
to document one interchange standard
intended for the Mostek version of the
Z-80 processor. The text was written by
Peter Formaniak and David Leitch and was
distributed without copyright. The standard
is intended to be an upwards compatible
extension of the original Intel 8080 object
code format, with provision for relocatable
programs and linkage of separate assemblies.
Object Output Definition
Each record of an object module begins
with a delimiter (colon or dollar sign) and
ends with carriage return and line feed.
A colon (:) is used for data records and end
of file indicator for Intel compatibility. A
dollar sign ($) is used for records containing
relocation information and linking informa-
tion. An Intel loader will ignore such infor-
mation and allow loading of nonrelocatable,
nonlinkable programs. All information is
encoded in ASCII format.
Each record is identified by a "type."
The type appears in the eighth and ninth
bytes of the record and can take five values.
In the following text the record type begins
each heading.
• Type 00: Data Record
Byte
number
1
Colon
$ LABW03212A
Description
delimiter.
defines last reference to
external symbol 'LAB'
2, 3 Number of (binary) bytes of data
in this record. The maximum is 32
binary bytes (64 ASCI I bytes).
4, 5 Most significant byte of start
address of data.
6, 7 Least significant byte of start
address of data.
8,9
10
ASCII zeros. This is the "record
type" for data.
data bytes.
Last 2 Checksum of all bytes except the
bytes delimiter, carriage return, and line
feed. The checksum is the negative
of the binary sum of all bytes in
the record.
CRLF Carriage return, line feed.
• Type 01 : End-of-file Record
Byte
number
Description
1
Colon (:) delimiter.
2,3
ASCII zero.
4,5
Most significant byte of the
transfer address of the program.
This transfer address appears as an
argument of the "END" statement
of a program. This Intel standard
may prove useful in higher level
language programs.
6, 7
Least significant byte of the
transfer address.
8,9
Record type 01 .
CRLF
Carriage return, line feed.
• Type
D2: Internal Symbol
Object Data
Byte
number Description
1 Dollar sign ($) delimiter.
2, 7 Up to 6 ASCII characters of the
internal symbol name. The name
is left justified, blank filled.
8, 9 Record type 02.
10,13 Address of the internal symbol,
most significant byte first.
14,15 Binary checksum.
CRLF Carriage return, line feed.
Continued on page 62
34
Fantastic Software
This LIBRARY is a complete do it yourself kit. Knowledge of programming not required. EASY to read and USE
Written in compatible BASIC immediately executable in ANY
computer with at least 4K, NO other peripherals needed.
VOLUME I
|BASIC
SOFTWARE
LIBRARY
This Library is the most comprehensive work of its kind to date.
There are other software books on the market but they are
dedicated to computer games. The intention of this work is to allow
the average individual the capability to easily perform useful and
productive tasks with a computer. All of the programs contained
within this Library have been thoroughly tested and executed on
several systems. Included with each program is a description of the
program, a list of potential users, instructions for execution and
possible limitations that may arise when running it on various
systems. Listed in the limitation section is the amount of memory
that is required to store and execute the program.
Each program's source code is listed in full detail. These source code
listings are not reduced in size but are shown full size for increased
readability. Almost every program is self instructing and prompts
the user with all required running data. Immediately following the
source code listing for most of the programs is a sample executed
run of the program.
BASIC
SOFTWARE
'wv,„, .LIBRARY
: Sat,,. -
VOLUME III
■■ IM-
The entire Library is 1100 pages long, chocked full of program
source code, instructions, conversions, memory requirements,
examples and much more. ALL are written in compatible BASIC
executable in 4K MITS, SPHERE, IMS, SWTPC, PDP, etc. BASIC
compilers available for 8080 & 6800 under $10 elsewhere.
This Library is destined to become one of the reference bibles for
the small computer field, due to its versatility and uniqueness and
the ease of operation of the programs it contains. These volumes are
deductible as a business expense when purchased by a company.
Send your remittance for prompt delivery, while supplies last.
Volume discounts are available to qualified dealers.
Bookkeeping
Games
Pictures
S24.95
VOLUME II
Math & Engineering
Plotting & Stat
Basic Statement Def. . . .
S24.95
VOLUME III
Advanced Business
Billing
Inventory
Payroll S39.95
VOLUME IV
General Purpose S9.95
VOLUME V
Experimenter S9.95
WtQssz^
■ *.«•
^^XJpww
JwPiPst'
VpLUMKllyl
v ;m
by a.w. llOWIf'™
1
©
FUTURE ADDITION TO THE "BASIC SOFTWARE LIBRARY"
Volume VI (A Complete Business System S49.95) General Ledger System - Taxes, Pyrl,
W-2's, Inventory. Depr., Financial Statements, etc. AVAILABLE MID SUMMER
Available at most computer stores.
Add S1.50 per volume for postage and handling.
SCIENTIFIC RESEARCH
1712-B FARMINGTON COURT
CROFTON MD 21114
Phone Orders call (800) 638 9194
Information and Maryland Residents Call (301) 721 1 148
This Circuit Multiplies
Tom Hall
8500 Cameron Rd
Austin TX 78753
Table
1: Power wiring for
figures 1 and 2
Type
1-5 V
GND
IC1
74161
16
8
IC2
74199
24
12
IC3
74199
24
12
IC4
7483
5
12
IC5
7483
5
12
IC6
7476
5
13
IC7
7400
14
7
IC8
7404
14
7
We all know that algorithms for multipli-
cation can be implemented perfectly well in
software. But such programmed approaches
to arithmetic operations can often prove
quite slow. There are a number of possible
approaches to gaining speed in operations
involving multiplication. These may vary all
the way from just tightening up the code to
putting a full hardware floating point arith-
metic unit into the processor. The latter is
often expensive and difficult to build. One
approach which is midway between these
extremes is to implement the "inner loop"
of a software algorithm as some special
purpose hardware. An example of this tech-
nique is this simple binary multiplier which
takes two bytes of information and supplies
a 2 byte product value, leaving all the other
functions of a full arithmetic package to
software. By speeding up the multiplication
operation, the entire arithmetic software will
run much faster whenever it involves multi-
plication.
How To Do Binary Multiplication
To examine the operation of a shift and
add algorithm for multiplication, let's look
at the multiplication of two 4 bit bytes:
14 = multiplicand (Y)
x10 = multiplier (X)
1110
x1010
0000
1110
0000
1110
10001100 = 140 = product (P)
From inspection it can be seen that the
result can be achieved in the same number of
steps as there are bits in the byte of the
multiplier, and that the answer requires as
many bits as the number bits in the two
bytes. In other words, two 4 bit bytes
generate an 8 bit product, and the multipli-
cation of two 8 bit bytes generates a 16 bit
product. Now, by further inspection, it is
possible to visualize the necessary imple-
mentation of the algorithm with hardware.
First, note that the answer requires eight
bits. Let's start off then with an 8 bit
register (P) set to all zeroes:
°i ° ■ ° i° 0,0,0,0 register P
Then we'll note that when the first bit to be
operated within the multiplier is a zero,
1 0 I ■
the result is a zero; so no adding is necessary
and we merely shift one place for the next
operation. Now the bit to be operated with
is a one,
10 10
and one times a number is that number; so
we just add the multiplicand into the P
register as follows:
= register P
0 0 0 0
1 1 1
0 0 0 0
1 1 1
+ 1110
0,0,0,1
1,1,0,0
new P value
Then we shift over one and select the next
bit to be operated on:
10 10
Since it is a zero, only a shift is necessary.
Then we operate on the last bit of the
multiplier:
0 1 0
Figure 1: Arithmetic logic of multiplier. The X and Y inputs are assumed to be stable throughout the multiplication. The P
product output lines are stable after the multiplication is completed. The single bit provided by IC6b extends the product shift
register by one bit. Control signals for the operation of the multiplication are ACLK and MST ART generated by the circuit in
figure 2.
36
37
STATUS
OUTPUTS
<>-
CONTROL
INPUTS
I
DONE
READY
DONE 4
t>
START 16
r1-^ CLOCK
PRESET C
L
J A 0
R
K 0
IC6a
7476
2
A
run
LTL
IC8
7404
7b "Vj
5 7400 y
+ 5V +5V
A 4
MSB
Ih
O > 8 COUNT INPUT,
-' BINARY
LSB
RIPPLE CLEAR D C B A
CARRY
LOAD
ICI
74161
4 BIT COUNTER
ENABLE ENABLE
P T OD CLOCK
TO FIGURE I
COUNTER
CLOCK
START
READY
ACLK
MSTART
RIPPLE CA
0 0
TIMING OF MULTIPLICATION
0 0 8 19 110 ill 112 !l3 >I4 115 lO 0
0 0 0 0
r~~ t i l r ■» i —
1 1 1
-J 1 1 1 1 t_-J
/ \V\ START MUST TURN OFF BY THIS TIME *-\
1 f
LtUULtULtLJULi
©©©©©©©©©
1 1
3RY
1 — 1
TIME'S ARROW—*-
P = X x Y
Transition
ID
1
2
3
4
5
6
7
8
9
= 25 x 150
Action
LOAD X.CLEAR
ADD Y
SHIFT P
SHIFT P
ADD Y
ADD Y
SHIFT P
SHIFTP
SHIFT P
Y =
Pl5
0
0
0
0
0
0
0
0
0
STATE TABLE FOR 150 X 25
= 3750
P6
P5
P4
P3
P2
Pi
Po
sc
1
0
0
1
1
0
0
0
0 P = 3750
1 0 0
1 0 1
1 0
X =
0 0
0 1
1 0
0 1
Pl4
0
1
0
0
1
1
0
0
0
Pl3
0
0
1
0
0
1
1
0
0
Pl2
0
0
0
0
P11
0
1
0
0
0
0
1
1
1
PlO
0
0
1
0
1
1
0
1
1
P9
0
1
0
1
0
0
1
0
1
P8
0
1
1
0
0
1
0
1
0
P7
0
0
1
1
0
0
1
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
1
1
0
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
Figure 2: Control logic of multiplier. The control logic for the multiplier generates a series of nine clock pulses on ACLK. The
first pulse coincides with the high state of the MSTA R T signal, and is used by the arithmetic logic to load the X operand into the
low order part of the 1 7 bit output shift register while clearing the high order nine bits, PI 5 thru P7. On successive clock cycles,
the arithmetic logic of figure 7 either shifts the product righ t one bit, or adds the Y operand with the resulting sum being loaded
with a I bit right shift. The operation of a typical 8 bit multiplication is shown in the state table, with the circled numbers
referring to clock transitions on the timing diagram.
38
0,0,0,1
1.1.0,0
1110
1,0,0,0
i.i.o.o
This is a one; so we again add the multi-
plicand into the P register into the position
indicated by the shift:
register P
final product
in P register
Thus, the product is generated.
How It Works
The multiplication logic described for the
4 bit case is generalized to 8 bit operands
with a 16 bit product in the circuit of figures
1 and 2. The multiplier logic of this design
accepts two 8 bit bytes, X and Y, from
which it generates the 16 bit product P.
After the start signal, a mere ten clock
periods suffice to generate the product
value. Since TTL devices are utilized, it is
possible to generate the result in less than
one microsecond by using a fast enough
clock. Practically speaking though, with the
1 MHz speed of the typical microprocessor
clocks, a result in about ten microseconds
will be quite acceptable, especially when
comparison is made to the equivalent pure
software approach.
The multiplier unit provides optional
ready and busy lines as status bits for the
processor, and requires a free running clock
plus a start signal from the processor. The
ready and busy lines can be ignored entirely
in most computers, by simply making sure
that one or two instructions are executed,
taking ten clock periods total between start
of a multiply and reference to the product
value.
The Multiplication Cycle
Let us assume that the unit is idle,
waiting for an input. This idling situation is
shown in the timing diagram of figure 2 at
the left-hand side. At idle, the BUSY output
will be low and the READY output will be
high. To start the multiplication, a high level
is placed on the START input after the X
and Y bytes are set up and presented to the
unit. At the low to high edge transition of
the next clock pulse after the START line is
raised, the READY and BUSY lines will
change state as flip flop IC6a is clocked.
Within eight clock times of these transitions,
the START level should be brought low
again to keep the unit from restarting the
multiplication upon completion of opera-
tion. These transitions raise the MSTART
line to a high level, which causes the control
counter IC1 to be loaded with the value 8
(binary 1 000 on the D,C,B,A inputs). At this
A Memory Address Space Interface
One good way to interface the multiplier is
through the wiring of two addresses with appro-
priate output latches and decoding logic. Each
address has a possible input and output signifi-
cance, corresponding to whether the processor is
reading or writing data to the "memory" location
which is the multiplier:
Address Write Action Read Action
n Load X operand latch Read P-i,- to Pp
rt+1 Load Y operand latch Read P-, to Pq
and start multiply.
This method of interfacing avoids using IO instruc-
tions, and can take advantage of the double byte
load and store instructions of the 8080 or 6800.
(In certain cases, such as array indexed address
calculation, the 8080's double byte addition opera-
tion can prove useful.)
time, the X input byte is loaded into shift
register IC2, and the high order product bits
in shift register IC3 and flip flop IC6b are all
cleared. All this action happens on the
ACLK transition, labelled 1 in the timing
diagram of figure 2.
The shift and add multiplication algo-
rithm occurs during the next 8 clock transi-
tions, labelled 2 thru 9 in the timing
diagram. At the low to high transition of
these clocks the binary counter ICI is
incremented, and a shift right occurs in the
shift register IC2 which holds P0 to P6 of
the final product and starts out with the
value of X. If the shift carry output (SC) of
IC2 is low, the transition will simply shift
the high order portions of the product (IC6b
and IC3) right by one bit, since binary 0 has
no effect on the sum. But if an X bit was 1,
SC will be high, which sets up control lines
so that Y is added to the previous value of
the product P and loaded into P with a right
shift 1 bit position. (This right shift is in the
wiring of the adder as shown in figure 1,
where, for example, the old bit P1 5 plus the
high order bit Y7 of Y are added together to
form bit PI 4 of the new P value, and the
new PI 5 is taken from the carry out of the
addition process.) The operation of the
algorithm is shown in the state table of
figure 2 for the example 25 x 150 = 3750.
The multiplication operation is ter-
minated when the binary counter reaches a
count of 15, thus generating a ripple carry
output which resets the flip flop IC6a to a
READY state at the final high to low
transition of the ACLOCK clock during a
multiplication. If the external circuitry tests
READY, this indicates end of the multiplica-
tion and a valid product on the P output
lines. Note that the binary counter performs
one more increment to a zero count, then
inhibits itself until the next START signal."
39
Announcing a Computer
that thinks in BASIC
for only 5298.
Ohio Scientif ic's new Model 500 computer has full mini-computer
BASIC in ROM and a minimum of 4K RAM for user programs.
BASIC is always there when the computer is turned on.
Make your terminal intelligent!
If your company or school has remote computer terminals, con-
sider the Model 500-1. It fits in the communications line between
the terminal and modem or system. When the 500-1 is off, the
terminal talks to the modem. When it is on, the terminal talks to
the Model 500. Use the Model 500 for short and medium sized
programs in BASIC. Use its immediate mode as an ultra-powerful
scientific calculator!
Computers for Students
Couple a Model 500 to a low cost purchased or leased terminal
such as the popular ASR-33 teletype for student instruction. The
Model 500's BASIC is a perfect instructional language for stu-
dents. Since the computer's machine code is also accessible,
the Model 500 can challenge the advanced student with other
optional software such as our interactive Assembler/Editor.
Personal Computing
The Model 500 has eliminated all of the grief of the first genera-
tion personal computers. This computer comes fully assembled,
tested, and guaranteed.
Most importantly, it is easy to use since the BASIC is always
there.
Flexibility and Expandability
The Model 500 uses Ohio Scientific's standard 48 line bus so
that it is fully compatible with our Model 400 kits and Challenger"11
product lines. Any of thirteen accessory boards including RAM,
PROM, parallel, serial, AID, D/A, cassette, and video graphics can
be added as well as peripherals including floppy disks, line
printers, color graphics, and more.
The Model 500 is offered here in three forms to meet every
application and pocket book.
Specifications
Model 500 Board $298.00
8" x 10" fully assembled board including 6502 microprocessor
running at 1MHz, 512 bytes of PROM, 8192 bytes of ROM con-
taining 8K BASIC and 4096 bytes of RAM for user programs. The
board contains an ACIA based serial interface which is jumper
selectable for RS-232C or 20ma loop at 110, 300, 1200, 2400, or
4800 baud.
The 8K BASIC features: full floating point math including
transcendental functions, N dimension arrays, multiple letter
variables, full string functions, logical operators, PEEK, POKE,
USR, and lots more!
The Model 500 board requires +5 volts at 2 amps, -9 volts at
500ma, an external reset switch, and an ASCII serial terminal for
operation.
Model 500-1 $429.00
Fully enclosed 500 board with power supply, reset switch, and
two 25 pin EIA standard terminal connectors for loop through
operation. The 500-1 is 12" x 15" x 4".
Model 500-8 $629.00
This unit is a 500 board in an eight slot Challenger"11 case allow-
ing seven slots for expansion. The unit has a heavy-duty UL
recognized power supply and is 15" x 17" x 10".
ORDER FORM
Order directly from:
Ohio Scientific; Hiram, Ohio 44234
This introductory offer expires August 31, 1977. Please allow up to 60 days
for delivery.
PRINT OR TYPE CLEARLY.
Name
Shipping Address
City
_State_
-Zip-
Payment by: BAC(VISA)._
Credit Card Account # „
_ Money Order
Expires .
Interbank # (Master Charge) .
. Model 500 Boards @ $298.00
. Model 500-1 Computer @ $429.00 .
. Model 500-8 Computer @ $629.00 .
. Additional 4K RAM Memories
for 500-8 @ $149.00
4% Sales Tax (Applies to
Ohio Residents only)
TOTALCHARGEDOR ENCLOSED.
All orders shipped insured UPS unless otherwise requested.
Circle 12 on inquiry card.
Hiram, Ohio 44234
Asfc BYTE
S-100 BUS?
Would you please show the pin
description of the S-100 bus, or at least
tell me where I can find it?
David W Anderson
15500S 1300 W
Bluffdale UT 84065
The S-100 bus, so called, is the name
used by "everybody else" who manu-
factures a MITS Altair compatible
peripheral, processor or board. MITS Inc
defined the bus by designing the Altair
8800, and during 1976 various manu-
facturers who make Altair compatible
peripherals and processors with Altair-
like backplanes began calling it the
"S-100" bus in advertisements. So for
detailed information, purchase the docu-
mentation of an Altair 8800, or one of
the other central processors which copy
this arrangement. Sooner or later, we
expect to print an article detailing this
information. ■
MULTIPLICATION
... In the April 1977 BYTE you
published some information on the
8008. From looking at the instruction
set published I don't see a multiplication
instruction. Do any microprocessors have
a hardware multiply instruction, or is it
always in software?
J oseph H Stockton Jr
Rt 6, Caroline Dr
Stockbridge GA 30281
The 8008 was the first microprocessor
to be both widely marketed and of suf-
ficient capability to make a decent
general purpose computer. Since it came
out, in the early years of this decade,
designs have evolved considerably, but
few designs to date (1977, first quarter)
include hardware multiply and divide
functions. The Digital Equipment Cor-
poration's LSI- 11 has a PDP-11 instruc-
tion set which does not include multiply
or divide operations in its basic set, but
which has an optional extended arith-
metic option which provides 16 bit fixed
point arithmetic operations and 32 bit
floating point arithmetic operations. The
Texas Instruments TMS-9900 processor
has multiply and divide operations for
16 bit integer arithmetic built into its
design. But the popularly used 8080,
Z-80, 6800 and 6502 processors do not
incorporate this feature and the user
must do multiplication and division in
software. ■
Put exceptional
versatility and control
into vour s-100 bus
system with the
t>lueboards\..and
save
money
in the
8 8 8 8 8 8 8 8
bargain!
II
XB1 Extender Board
Board Only $9.00
With Connector $13.50
: : : : :
MT1 1 5 slot Mother Board
Board Only $45.00
With Connectors $105.00
MB4 4K Static RAM (low power)
Kit $129.95
Assembled $179.95
VB1A Video Board
Kit $189.95
Assembled $264.95
MB6A SK Static RAM (low power)
Kit $265.00
Assembled $325.00
SB1 Synthesizer Kit
Kit $250.00
Assembled $325.00
MB3 2K/4K EPROM (1702A)
Kit less PROM's $65.00
2K—$105.00/4K— $145.00
Assembled board available
16K
I/02 Interface Board
Kit $55.00
Assembled $79.95
■ MB7 16K Static RAM (low power)
" Kit S525.00
| Assembled $599.95
-I We're the blue boards!
Compare the Cybercom blue boards with any others on the market
today. You'll find exceptional quality plus prompt delivery and
significant cost savings. All Cybercom kits are guaranteed 90 days
for parts and labor.
Contact your local computer hobbyist store or write for details.
Solid State Music
2102A Walsh Avenue, Santa Clara, CA 95050
Telephone (408) 246-2707
Circle 13 on inquiry card.
Condensed Reference Chart
aNNb
Mne. Mode
Cond. Flags
OPERATION
Figure 1 ; This is the basic
four line format that is
used to describe each par-
ticular opcode instruction.
See text for a detailed
description of the notation
used.
Robert J Borrmann
Electrical Engineering Dept
Manhattan College
RiverdaleNY 10471
Here is a quick reference chart that de-
scribes the opcodes for the Motorola 6800
microprocessor. This chart gives all of the
hexadecimal codes, including the ones that
are unimplemented. The codes are given in
a four line format as shown in figure 1 .
The first line has three values: a, b and
NN. NN is the hexadecimal op code; a is the
length, one, two or three bytes, of the
instruction; b is the length of execution in
machine cycles for each instruction.
The third line contains the condition
flags that are affected by the execution of
the instruction. The notation used for the
condition flags is summarized in table 2. If a
flag is set to a specific value by the instruc-
tion, the flag and value are shown on line 4.
If the command is a branch instruction then
this line contains the conditions under which
A
= Accumulator A.
B
= Accumulator B.
#
= Immediate.
d
= Direct.
X
= Indexed.
e
= Extended.
r
= Relative.
= Inherent (no symbol)
Table I : Summary of the
addressing modes that are
used in the chart. These
modes are found in blue
on the chart.
the branch will occur in parentheses. The
letter "u" represents an operand interpreted
as an unsigned 8 bit binary number, "s"
represents an operand interpreted as a signed
two's complement number. The "u" and
"s" conditions are correct only if the last
flag affecting instruction executed before
the branch is SBA, CBA, SUB or CMP.
The fourth line contains a summary of
the operations of the instruction in the
AHPL language. AHPL stands for A Hard-
ware Programming Language and is discussed
by Hill and Peterson in Digital Systems:
Hardware Organization and Design which is
published by John Wiley and Sons Inc. The
notation is taken from page 1 1 2 of that
book. The upward and downward pointing
arrows stand for various types of shifts. The
upward pointing arrow is a circular shift left
and the downward pointing arrow is a
circular shift right. An arrow with a circle at
its beginning denotes a shift with a zero
moving into the vacated end. The arrow with
the ditto mark (") is my own invention to
denote a shift with the vacated end bit
maintained. The ® symbol is used to denote
the exclusive OR function. The left pointing
arrow is the APL standard assignment
symbol. If a condition flag is set to a
particular value by the instruction, the value
is indicated. Any condition flags that do not
have a particular notation follow the ordi-
nary rules. Primes on the flag condition,
such as v in the LSR, ROR and ASR
instruction, denote a special rule for setting
or clearing that flag.
A nonstandard notation concerns the
pushing or pulling of the stack. Pulling from
the stack is accompanied by an increase in
the value of the stack pointer. The value is
increased by 1 in the PULA and PULB
instructions; by 2 in the RTS instruction;
and by 7 in the RTI instruction. Similarly,
pushing into the stack is accompanied by a
decrease in the value of the stack pointer by
the appropriate amount."
CCR = xxhinzvc.
h = Half carry.
i = Interrupt mask.
n = Negative.
z = Zero.
v = Overflow.
c = Carry.
x = Don't Care, always 1
Table 2: Summary of the
condition flag codes that
are used in the chart.
Editor's Note . . .
The Holes in Opcode Space
Looking at this chart of
the 6800 (or a similar
chart for any processor)
one sees numerous "holes"
in operation code space.
These holes are the yellow
boxes. An interesting chal-
lenge for the owner of a
microprocessor (or any
computer) is to try and
figure out what happens
when the forbidden op-
codes are executed. Will
these exotica turn out to
have any uses? Or will
they simply be another set
of NOPs? For example,
look at the strange group-
ing of the operation codes
4X, 5X, 6X, 7X where X is
any hexadecimal digit. 40,
50, 60, 70 are all negates,
43, 53, 63, 73 are all
complements, and various
arithmetic operations oc-
cur for other values. But
the operation codes 41,
51, 61 and 71 are nomi-
nally undefined as are 4B,
5B, 6B, 7B and several
others. Could it be that
those are operation codes
that weren't documented
in the literature because
the masks of the LSI chip
had errors'1 Could it be
that they are supposedly
unimplemented but are
really just not documented
so that a "next genera-
tion" processor can be
achieved by simply releas-
ing the paperwork and sell-
ing "new" chips? It's an
area of personal research
which could prove quite
useful: Whenever you find
a new processor, examine
it for missing opcodes and
see what wasn 't docu-
mented — then try to fig-
ure it out by writing pro-
grams which execute "un-
implemented" instructions
under carefully controlled
conditions.
42
for the 6800
00
'10'
' 20"
'30"
'40' '50' '60'
3 70"
' 80'
'903
' AO" ' B0' ' CO'
' DO3 ' EO"
3F0'
SBA
BRAr
TSX
NEG A B X
e
SUB A=
Ad
AX An B=
Bd BX
Be
nzvc
nzvc
nzvc
A- ■ A-B
PC-PC+r+2
IX-SP^l
OP- ~OP
ACC-ACC-OP
'01'
'11'
21
'31"
41
51
61
71
'81'
2913
'A15 3B1" L'C1'
'D13 'El"
'F1"
NOP
CBA
nzvc
nz*e f(A-6)
INS
SP- SPi 1
CMP A#
Ad
AX Ae B-
nzvc
nzvc-flACC-OP)
Bd BX
Be
02
12
' 22''
'32"
42
52
62
72
' 82'
'92'
'A2S 3B2" 'C2'
' D21 ' E2"
3F2"
BHI i
PULA
SBC A-:
Ail
AX Ae B=
Bd BX
Be
(U1>U2)
A- TOS
nzvc
ACC- ACC-OP-c
03
13
' 23'
BLSi
(UKU2I
'33'
PULB
B- TOS
'43' '53' '63'
COM A B X
nzvc
OP- -OP v Op I
3 73°
83
93
A3
B3
C3
D3
E3
F3
04
14
' 24'
'34'
'44' '54' '64'
374r.
'84'
'94'
' A4b ' B4' ' C4'
• D43 ' E4"
:'F4"
BCCi
DES
LSR A B X
e
AND A=
Ad
AX Ae B-"
Bd BX
Be
(c=0)
nzvc
nzv
SP- SP-1
(OP,c)-$(OP,c) n- 0
ACC-ACC NOP. v-0
05
15
'25"
'35'
45
55
65
75
'85'
2953
'A5!' 'B5' 'C5'
' D53 ' E5"
3F5'
BCS.
TXS
BIT A =
Ad
AX Ai- B=
Bd BX
Be
(c=1)
SP- IX— 1
nzv
nz-t(ACCAOP), v-0
'06'
'16'
'26'
'36"
'46' '56' '66'
5 76"
'86'
'963
'A6!' :'B6' 'C6'
' D63 ' E6"
•F6'
TAP
TAB
BNEr
PSHA
ROR A B X
e
LDA A =
Ad
AX Ac B=
Bd BX
Be
ihnzvc
nzv
(2-0)
nzvc
nzv
CCR- A
B- A. v-0
TOS- A
(OP.cl-MOP.cl
ACC- OP v-0
'07'
'17'
'27"
'37'
'47' '57' '67'
37?B
87
'97'
JA7t :.B7s
C7
'D7' :'E7"
iF7s
TPA
TBA
nzv
BEQr
U-1]
PSHB
ASR A B X
nzvc
e
STA Ad
AX Ae
nzv
STABd BX
nzv
Be
A- CCR
A- B, v-0
TOS- B
(OP.c|-HOP,cl
OP
ACC, v- 0
OP- ACC. v-0
'08'
18
'28"
38
'48- '58' '68'
3 78"
' 88'
' 98 '
A8'' 'B8' 'C8'
■ D83 E8"
'F8'
INX
BVC.
ASLA B X
a
EOR A ----
Ac
AX Ae B=
Bd BX
Be
z
(v=0)
nzvc
nzv
IX- IX+1
(c.OPI-J (c-opl
ACC-ACC-i-OP, v-0
'09*
'19'
' 29'
'39'J
'49' '59' '69'
3 79'
'89'
' 99'
' A9° ' B9' ' C9'
•' D93 ' E9"
' F9'
DEX
DAA
BVSr
RTS
ROL A B X
e
ADC A=
Ad
AX Ae B=
Bd BX
Be
Z
nzvc
tv-1)
nzvc
hnzvc
IX- IX 1
A. CCR- -| )
PC- DTOS
(c.OP)-t(c.OP)
ACC-ACC+OP+c
'0A'
1A
' 2A'
3A
'4A' '5A' '6A'
J7Ae
'8A'
' 9AJ
' AA" ' BA' ' CA'
'DA' 'EA"
3 FA'
CLV
BPL ,
DEC A B X
e
ORA A==
Ad
AX Ae B=
Bd BX
Be
V
(n=0)
nzv
nzv
v-0
OP-OP- 1
ACC-ACCVOP, v-0
'OB'
'1B'
'2B'
'3B'"
4B
5B
6B
7B
'8B'
'9B'
'ABS 3BB' 'CB'
DB" :'EB"
3FB"
SEV
ABA
BMI r
RTI
ADD A=
Ad
AX Ae B =
Bd BX
Be
V
»> 1
hnzvc
A<-A+B
(n-1)
ihnzvc
Rtl- 7S'K
hnzvc
ACC-ACC+OP
'OC
1C
1 2C'
3C
'4C '5C' '6C
3 7C"
J8C3
' 9C"
'AC 3BC5
CC
DC
EC
FC
CLC
BGEr
INCA B X
e
CPXS
d
X B
c
(S1>S2)
nzv
nzv
c-0
OP-OP < 1
nzv-fllX-
-DOP|
'OD'
1D
'2D'
3D
'4D' '5D' '6D'
37D"
'8D«
9D
'AD" ' BD''
CD
DD
ED
FD
SEC
BLTr
TST A B X
e
BSRr
JSRX e
c
(S1<S2)
nzvc
c*-1
nz-flOP) v-0 c-o
'OE'
1E
■2E*
'3E"
4E
5E
'6E"
37E3
J8EJ
'9E'
■AE" 'BE''
JCE3
■ DE' 'EE"
IFE!
CLI
i
BGTr
(S1>S2)
WAI
JMP X
e
LDS =
d
nzv
X e
LDX =
d X
nzv
e
i-0
7Stk- Rg
np
SP- DOP
v-0
IX-DOP, v-0
'OF'
1F
'2F'
'3F"
'4F' '5F' '6F'
i7Fe
8F
'9F'J
'AF' >BF"
CF
'DF" 'EF'
JFF"
SEI
BLEr
(SKS2)
SWI
i-1
CLRA B X
nzvc
e
STSd
X e
nzv
STXd X
znv
e
M
7Stk-Rg
OP— 0,n— O.z— 1,v-0,c
-0
DC
P-SP, v-0
DOP-^IX,v-i
J
43
A Train Control Display
Using the LSI-11 Microcomputer
Jack Hart
Digital Components Group Engineering
Ed Badger
System Diagnostic Engineering
Digital Equipment Corporation
Marlborough MA 01752
Figure 1: Model railroad
track layout used in au-
thors' system. During a
typical demonstration,
both trains leave their
sidings under control of a
Digital Equipment Corpo-
ration LSI-11 microcom-
puter and are routed along
the tracks according to a
control program in the
computer. Feedback sen-
sors are used to verify
train locations at strategic
times.
In order to demonstrate the application
of a microcomputer to real world situations,
a model train system was developed which is
controlled by a Digital Equipment Corpora-
tion LSI-11 microcomputer. Two model
trains were used for the demonstration —
one adhered to a fixed schedule while the
other was directed along a path to make it
avoid the first train.
HO model railroad components were
used. (HO is currently the most popular size
for model trains and accessories among
enthusiasts in the United States; the scale
is 1/64th of actual size, but this can vary.)
The layout includes some 75 feet of track
and 18 switches plus detectors to determine
train locations and a programmable power
S4
supply to control train speed and direction.
Control interfaces are used between the
computer and the track for power. In addi-
tion, switches are used to control train
position and both station indicators and
billboards check train positions and provide
atmosphere. A 60 Hz clock is used for a time
base, and peripheral devices are used for data
entry, status reporting and transferring com-
mands to the train system.
As in many other such systems, the hard-
ware and software elements of this system
can be analyzed separately, but it is impor-
tant to keep the interrelations between the
two in mind. Thus, when a detector informs
the computer that a train is in a certain loca-
tion, the control program must update the
STATION
#3
STATION*- 2
STATION* 1
S18
SI SU
TRACK LAYOUT INDICATING 18 SWITCHES, 4 STATIONS AND 2 SIDINGS
STATION
-#4
44
system's files so that the new location can be
related to the location of the other train.
Take the A Train
The operation of this electric train system
is straightforward (see figures 1 and 2).
Upon startup, the trains are moved forward
until they trip the location sensors in their
respective sidings. These location sensors are
actually reed switches which will close in the
presence of a magnetic field. Each train is
MICROPROCESSOR a PERIPHERALS
VT52
TERMINAL
<^>
^A
<T>
SERIAL A A.
LINE f y
UNIT V y
SERIAL A-
LINE '
UNIT V-
7T
0
provided with a magnet for this purpose (the
next section describes these switches in
greater detail). After both siding sensors
have been tripped, the trains (called A and B
for convenience) are individually brought
clear of the siding area.
The lead train A is switched to a station
and train B is diverted to the outer track.
The software used to control the trains and
keep them separated is then employed
throughout the remainder of the LSI-11
demonstration.
INTERFACE
c
RT02
TERMINAL
<^>
LSI - M
MICRO-
COMPUTER
OUTPUTS*
INPUTS <
RELAY
DRIVER
TRACK
POWER
BILLBOARDS
AND STATION
SIGNS
SIGNAL
CONDITIONERS
TRACK AREA
-<C. \— REED SWITCH
I
INPUTS <
OUTPUTS <
TTL
TRANSLATORS
TRACK
FEEDBACK
SENSOR
FLIP FLOP
REGISTER
FLIP FLOP
REGISTER
SINGLE SHOT
RELAY
DRIVER
FLIP FLOP
REGISTER
SINGLE SHOT
RELAY
DRIVER
TRACK
SWITCH
SOLENOID
Figure 2: Block diagram of the LSI-1 1 control system. The data bus is connected to two terminals used to input and display
information at the operator's control station. It is also connected to a special interface which is based on two hardware latches
called parallel line units, or PLUs. These PLUs store command bytes coming from the microcomputer which in turn drive flip
flops and relay drivers used to power the track and operate track switches. Commands from the computer are in the form of
16 bit words. Each section of the track has been assigned a specific bit, and only those bits of the word necessary to change the
track sections desired will change. Information from reed switches is also latched by the PLUs and sent back to the computer
to be used in closing the feedback control loop.
45
HI! I'M AN LSI-11 MICROCOMPUTER
I'M RUNNING THIS RAILROAD TO DEMONSTRATE MY REAL TIME
MULTITASK FOREGROUND, BACKGROUND CAPABILITY. I MONITOR 27
INPUTS AND CONTROL 32 OUTPUTS AND STILL HAVE MOST OF MY
POWER UNUSED.
STATION
BOSTON
NEW YORK
LOS ANGELES
SAN FRANCISCO
STOP CODE
1
2
3
4
ARRIVE TIME
DEPARTED *(1.)
+32 SECONDS *(1., 2.)
SCHEDULED *(1.)
;*"TIME***: * (2.)
* *
• 12; 38; 17 ;
Figure 3: A typeset example of the type of display generated by the authors'
terminal. Such pertinent train information as arrival times and estimated
delays is available to the operator. "Arrival Time" messages vary between
"ARRIVED," "DEPARTED," "+XX SECONDS," "DELAYED," "NEXT
STOP, " and "SCHEDULED. "
Operator instructions such as specifying
where the trains are to stop and requests
from the computer for instructions are
transmitted by an RT02 remote data ter-
minal. The terminal has a 30 character key-
board input and can display as many as 32
alphanumeric characters. These character-
istics provide all the capabilities needed for
full interaction between the operator and
the system. A full video terminal, the VT52,
is used to display train information as well as
advertisements and time of day. The ter-
minal is serially connected to the central
processor and operates at 9,600 bps. Multi-
ple messages can be displayed on the screen
simultaneously (see figure 3).
Software for the train demonstration can
be called "multitask." Tasks are assigned to
be either a foreground or a background
priority status. There are 12 possible tasks
required to run the train system, eight
of which are in background. Foreground jobs
take priority over background jobs by means
of interrupts. Since most of the jobs are
executed on an "as needed" basis, the
primary job of the background is to act
as a "wheel spinner" which cycles in a wait
loop until called upon.
Photo J: Authors Hart
(foreground) and Badger
performing a different
kind of "engineering" with
their LSI-ii controlled
model railroad. The
system was on display at
the IEEE Electro 76 con-
ference in Boston. The
display was also seen by
many of our readers at the
Personal Computing 76
conference in A tlantic City
NJ in August 1976.
TRAIN
MAGNET
JT
01
TO PLU2
REED SWITCH
Software execution in this system is con-
trolled by a real time clock program module
which creates a reference base to coordinate
all program operations. This particular clock
makes use of a standard 60 Hz power line
frequency which is passed through a low
pass noise filter and then transformed into
a train of square waves at TTL voltage level.
These square waves are next fed to the BUS
event line of the LS 1-1 1 where they create
processor interrupts at each positive going
transition of the waveform. Every 16.7 ms,
then, control is transferred to the clock job,
which regulates the "time of day" and
"train arrival" displays on the video terminal.
Keeping Track of Your Trains
Neither train can be successfully con-
trolled unless its location is known with a
great deal of certainty at any given time.
This is done by processing information from
the various reed switches and extrapolating
times of arrival at key points (eg: when
train A is scheduled to arrive at a station).
As mentioned earlier, each train has a
magnet mounted on it to activate the reed
switch sensors (see figure 4). Each sensor is
polled periodically to determine if a train is
present. From this information it is possible
to compare train position against the schedule
and the time base to quickly tell if a train is
on time or late; this information can be dis-
played on the video screen. The reed
switches are connected to the input side of
parallel line unit number one (PLU 1,
which serves as a data storage buffer to and
from the computer) via a TTL translator
which converts the switches' status to the
appropriate TTL voltage levels needed by
the PLU. PLU 1 's output is used to energize
the billboard signs and sections of track
under control of the LSI-1 1 .
r
oj
Powering Up
When two trains are to be controlled
simultaneously, as in this case, the simplest
technique is to apply power to isolated
sections of track at the right times. The com-
puter can differentiate between trains A and
B by checking position and schedule and
Figure 4: Reed switch cir-
cuitry used to send feed-
back information to the
microcomputer. When a
train passes by, the mag-
netic field causes the
switch to close, pulling
the signal line down to
ground potential; this sends
a signal back to the inter-
face (and finally to the
computer) that a train is
passing.
MORE POWER TO
YOURALTAIR*
12 AMPS @ 8v. (nominal)
2 AMPS (S) ±16v.
At any line voltage from:
90 to 140 volts.
Installs easily inside any Altair* 8800 or
8800a.
Over voltage and over current protected.
Conservatively designed and specified.
only $90.00
postpaid in the U.S.A.
California residents add
mastei charge
$5.40 sales tax.
PARASITIC ENGINEERING
PO BOX 6314
ALBANY CA 94706
"Altair is a trademark of MITS Inc.
47
Circle 53 on inquiry card.
+ 5V
+ 5V
O
FROM PLUI <
o
Figure 5: Computer con-
trolled track power cir-
cuitry. Inverted logic levels
coming from PLU I drive
two types of relays. The
first type (represented by
relay 1 in this illustration)
chooses the polarity of the
voltage going to the track,
while the second type (re-
lay 2 here) applies power
to the track. Only certain
strategic areas of the track
require polarity switching.
RELAY I
i
o
H>
RELAY 2
I
ll
FROM PLUI <
T
+ 8V
O
<*.
then creating the proper track energization
sequence to control the trains. There is one
problem in using PLU I 's output to energize
the tracks: its TTL output power is too low
to drive the HO trains being used. This
problem can be solved by the use of relays
(see figure 5).
Relaying Information
Two types of relays are employed. For
those sections of track which are simply to
be turned on or off, a single pole relay is
sufficient. When power is required, the
appropriate output word is transferred to
1
^ o
TO RAILS
PLU 1, which causes the desired relay to be
energized. This in turn applies power to the
track. When power is no longer required,
PLU I is updated with a new word and the
relay is de-energized. Some tracks, however,
have reversing capabilities which require not
only power but also one of two polarities for
track voltage. Figure 5 shows how two relays
are used to do this: relay 1 chooses the
polarity of the track based on a command
from PLU 1, while relay 2 applies power to
the track, again on a command from PLU 1.
Each time a command isgiven, a single 16 bit
word is written into the output data buffer
INSULATING
TIES
3V
I
RIGHT
LEG
SOLENOID
O TO PLU2
Figure 6: A typical fork (or "turnout") In the track. In this illustration, the turnout is positioned to divert the train to the left
leg. These solenoid controlled mechanisms act as their own sensors. One leg of the switch is either grounded or ungrounded
depending on its position. This is used to provide a logical 0 or 7 output to the computer for confirmation of the switch's posi-
tion. The solenoid is illustrated in figure 7.
48
PLU 1. Each section of the track has been
assigned a specific bit and only those bits of
the word necessary to alter the status of the
track section in question will change.
A Successful Turnout
Another aspect of control is the "turn-
out" switch (see figure 6). Turnout is a
railroading term for a fork in the track
which divides it into two branches. This
term is used to avoid confusion with the
electrical switches. The turnout settings
will obviously have to change as a function
of the two trains' positions and the pro-
grammed routes. The current status of a
turnout must be determined by the com-
puter before a train can pass through. A de-
railment will occur, for example, if the train
proceeds from either leg of a turnout against
the current setting. The turnout mechanisms
in this system have been modified to act as
their own sensors. One of the two moving
legs of the turnout is electrically isolated in
SWITCH
LEFT
SWITCH
RIGHT
o_
O-
\y
c^-
3 -
^37
AC
:ommon
TO SLIDE OF
SWITCH TRACK
SOLENOID CONTROLLED SWITCH TRACK
one position and grounded in the other. It is
connected to a +5 VDC level (TTL) through
a pullup resistor so that its output, which
goes to parallel line unit number 2 (PLU 2),
is either high or low depending on the
switch's position.
A software routine controls the turnout
mechanisms by indexing the track table in
memory to determine which track switches
must be thrown to get both trains to their
next checkpoints. It then moves the turn-
outs to the required position, waits until the
mechanical motion of the switches is com-
Figure 7: A turnout
solenoid. This type of
solenoid can be activated
in either direction because
of its center tapped coil.
Application of voltage to
the desired side of the coil
determines the direction
of throw.
DATA INPUT
FROM PLU2
NEW
DATA
HEADY
}^>
I SECOND
_TL
+ 5VDC
>
Ol
ITO TURNOUT
SWITCH
TO TURNOUT
SWITCH
Figure 8: Coil activation circuitry. The coils used to energize the track solenoids cannot be energized 100% of the time (a 100%
duty cycle) without burning up. This circuit uses flip flops and delay elements to provide a one second pulse to a relay where it
is converted to 17 VAC, sufficient to activate the solenoid. This illustration, like the rest in this article, is intended to illustrate
a concept rather than to serve as a basis for actual construction.
49
pleted, and checks the new switch position.
Each track switch is moved by a solenoid as
shown in figure 7. This type of solenoid can
be activated in either direction because of its
center tapped coil: application of voltage to
the desired side of the coil determines the
direction of throw.
Mortal Coils
Activating each solenoid requires a fairly
elaborate arrangement, since PLU 2 has only
16 bits in its output word, while 32 control
signals are actually required for all left and
right solenoid positions. Further, the sole-
noids cannot merely use a level converter to
increase the output control signal of PLU 2:
such solenoids cannot be constantly ener-
gized at the required level without burning
up. Figure 8 shows a circuit which converts
the incoming signal to a level of 17 VAC
used to energize the solenoid. The initial
signal is sent to IC1, a hardware latch with
both inverting and noninveerting outputs.
This latch is used to buffer the incoming
data. A 75 ns delay is used between the
inverted output of the latch and the clock of
flip flop IC2 to allow the data level to settle
to its correct value before being clocked in.
A logical 1 signal from PLU 2 will cause IC2
to go high and activate the coil. Another
delay circuit from the inverted output of
IC2 feeds back to the clear line and turns the
relay coil off after one second. All of this
causes the turnout switch to move to its
right hand position. Shifting the switch to
the left involves the same type of procedure.
To insure the correct initial conditions, a
software routine in the LSI - 1 1 places all
turnout switches in the left hand position
following startup.
Off the Beaten Track
An emergency (eg: a train derailment)
will occasionally occur which requires an
immediate halt to all operations. A provision
on the RT02 data terminal keyboard permits
"panic stops" in such circumstances. To
bring a more normal, orderly halt to the
system, an appropriate command is entered
into the data terminal: this sends train A to
station 1 and train B to station 4. When train
A reaches its station, power is reversed on
the tracks so that it will back into siding 1.
Train B is similarly backed into siding 2,
which signals the end of a very tractable
system demonstration!"
Let's talk about a Real Bargain
It's the Typewriter/Terminal from AJ
We have hundreds of ready-for-lease, or
ready-for-sale terminals that have
been refurbished and repriced
to make them a truly
outstanding
bargain.
Use it as a typewriter!
Our AJ 841 features the heavy duty Selectric IBM mechanism to give
you fast, dependable operation day after day. Use it in the office. Use
it at home. At our price, it's an economical typewriter.
Use it as a terminal!
The 841 incorporates our own SELECTRONIC
mechanism that turns it into one of the most useful
and reliable computer terminals on the market.
Thousands are in operation today. Your choice
of EBCD or Correspondence Codes, with APL
as an option. It will interface with almost
any IBM computer.
If you can use an efficient, low cost
computer terminal, here's your chance
to get one for about the price of a good
typewriter alone.
If you're interested, call AJ Marketing
at 408 -263-8520, Extension 280,
or write for more details.
w
ANDERSON
521 Charcot Avenue • San Jose, CA 95131 ■ (408) 263-8520
EASTERN REGION/Hackensack, N.J. (201) 488-2525 ■ CENTRAL REGION/Northbrook (Chicago), III. (312) 498-4220
Circle 14 on inquiry card.
50
wmm*
Deal
yourself in
Atlantic City, N.J.
August 27th-28th
What its alt about!
Software Development
Micro Computers
Hardware Development
Disc Memories
Computer Comparisons
Interfacing
Program Implementation
AMSAT
Computerized Music
Video Terminals
Kit Construction
Printers
Computer Games
Digital Tapes
• Seminars and Technical talks by leading electronic equipment manufacturers
• Major Exhibits from all over the country
• Demonstrations in many areas including Home and Personal Computing
• Door Prizes, Free Literature and Free Mementos
• All this plus Sun and Surf - Fun and Excitement - Relaxation and Leisure
SPECIAL GROUP RATES FOR CLUBS AND
PPrSOriell ORGANIZATIONS TRAVELING FROM THE WEST
COAST AND MID-AMERICA.
U""M-' Seven Seas Travel
Dawn Corrigan 17220 S. Norwalk Blvd.
(213) 924-8383 Cerritos. CA. 90701
^ Computing
Write for FREE TRIP-KIT to PERSONAL COMPUTING 77,
Rt 1, Box 242, Mays Landing, New Jersey 08330
ft Consumer Trade Fair
EXHIBITION BOOTHS STILL AVAILABLE - CALL (609) 653-1188
gfc^fc^ MMtarifetfM ktfl Ml mm ******** Mi MMI
The TV Oscilloscope
Or, Some Notes on Building a Display
Photo 1 ' : A "typical" dis-
play. This shows the com-
pleted display in opera-
tion. The large block
letters are reverse video
spaces. The use of blank-
ing prevents generation of
any signals at the top or
bottom of the screen and
keeps the visible portion
of the display within the
linear region of the TV set.
Kenneth Barbier
POB 1042
Socorro IMM 87801
Although conceived and designed in-
dependently, the display circuitry in my
CRT terminal is virtually identical to that of
CW Gantt in his article "Build a Television
Display" on page 16 of June 1976 BYTE.
The major difference is that I did not use the
MM5320 sync generator, and my display is
therefore not interlaced and its horizontal
sweep is not exactly at the usual TV
horizontal rate. My display, shown in
operation in photo 1, consists of 24 lines of
64 characters, with a frame consisting of 270
raster lines repeated 60 times per second.
With this formulation I have a time
allotment for 27 character lines with ten
raster scan lines per character. The extra
three character line positions represent
overhead for vertical sync.
In a TV set the interlacing is produced
not by the hardware within the set, but by
the nature of the incoming sync signal. By
using a decode of what would have been
character line 26 (raster lines 251 thru 260)
as the vertical sync, and a decode of
character column 72 as the horizontal sync,
the generator produces a horizontal sync
frequency of 16,200 Hz. The TV set is
happy with these small deviations from its
usual sync diet, requiring no readjustment
when used for its original purpose.
Another difference between the two
approaches is in the size of the display. I
wanted no fewer than 64 characters per line
in order to be compatible with existing
software written for a Teletype terminal.
And to be consistent with more characters
per line, using more lines per frame preserves
the character's aspect ratio: the ratio of its
height to width.
With 64 character spaces each seven dots
wide, plus sync and retrace time allowances
of about 20%, I found my dot rate would be
DOT
COUNT
■^7
<f
CHARACTER
COUNT
-^64
AO Al A2 A3 A4 A5
DISPLAY RAM
ADDRESS, LOW
ORDER
DOT
DECODE
H SYNC
COUNT
HORIZ SYNC
SCAN
COUNT
dT
DOT 0 I 2 3 4
TO CHARACTER
GENERATOR
TO CHARACTER
GENERATOR
RETRACE
COUNT
tIO
LINE
COUNT
drFT
^CHARACTER
RESET
A6 A7 A8A9 AIO
DISPLAY MEMORY
ADDRESS, HIGH ORDER
^VERT
SYNC
RESET
Figure I : Block diagram of
a television display. This
version is very similar to
the display described by
C W Gantt in June 1976
BYTE, page 18. The points
Indicated by circled
numbers are used as de-
scribed in the text to gen-
erate the various test
patterns shown in photos
2, 3, 4 and 6.
52
AND Using It as a Synchronous Test Instrument to Debug Itself .
something over 9 MHz. How to push all
that through a commercial TV set front end?
No way! I never even tried. So I had to
invent my own TV set interface which was
described in my short article in July 1976
BYTE, page 38.
A simplified block diagram of the timing
portion of my terminal is shown in figure 1.
Since it varies only slightly from that of
Gantt's, I have not included a complete
detailed circuit diagram or explanation. At
the block diagram level it can be seen that an
oscillator drives a dot counter and decoder
to produce a scan of the five dots making up
each line of a character, followed by two
dots worth of spacing. The seventh dot is
used to increment the character counter,
which counts the 64 characters to be
displayed in each line. The end of the line is
a count corresponding to what would have
been character 72; this is used to increment
the scan counter. The 65th thru 72nd charac-
ter positions are timing overhead allowing
time for horizontal sync.
The scan counter counts ten scan lines:
one blank line above the characters, the
seven raster lines comprising the characters,
a blank line below the characters, and a line
on which an underline or cursor position
marker can appear. At the end of the tenth
scan line, the character line counter
advances. There are 24 displayable character
lines numbered 0 thru 23. Line number 24 is
for spacing at the bottom of the frame, line
number 27 is reserved for the vertical sync
and retrace time, and line number 26 is a
blank line at the top of the screen. (Lines are
numbered 0 to 26 consistent with the 27
binary states of the line counter.)
The outputs of the character counter (0
thru 64) and the line counter (0 thru 23) are
used to address the display's programmable
memory of 2048 bytes on two boards of
1024 bytes (1 K bytes) each. Only 1536
bytes of this memory are used in the display;
the remainder is available to the processor
for normal programming purposes. The
processor can both write into the program-
mable memory area and read data from this
memory. However, these operations should
take place during vertical retrace time to
avoid visible glitches. The processor needs to
access the display memory in order to move
the cursor around without disturbing the
stored characters, and in order to implement
scrolling when writing more than 24 lines.
Being able to read and write the display
memory makes it possible for these func-
tions to be implemented entirely in
software.
Enabling the processor as well as the
display to read the memory also makes the
hardware more complex than Gantt's. His
approach was to implement a display only,
mine was to build a smart video terminal.
Both are built of the same foundation
blocks: a sync generator, a memory address
counter, and a character generator.
Whatever approach you might take, once
you have built a composite sync generator
and interfaced it to a TV set you have a
powerful tool for developing the rest of the
system, the main theme of this article. By
breaking the video line shown on Gantt's
About the Author
Ken Barbier is an elec-
tronics technician em-
ployed by National Radio
Astronomy Observatory,
Socorro NM. In support of
the construction of the
largest radio telescope in
the world, he has been
designing and building
microcomputer controlled
automatic test equipment
for the project's Digital
Control System. This gives
him the opportunity to
divide his time between
hardware design and pro-
gramming. His other
hobbies include building a
microprocessor controlled
bridge game, and flying,
preferably without an
engine.
LINE BLANK
COMP BLANK
(a)
PC EDGE
CONNECTOR
TO VIDEO MIXER
OR
RF MODULATOR
PC EDGE
CONNECTOR
Figure 2: (a) A modification of the Gantt televison display circuit, of page 18, June 1976 BYTE, to use this test instrument
technique. The line from IC7 pin 12 to the video level potentiometer is broken so that input to the video mixer, and thus to the
TV, Is taken from some arbitrary point under test rather than the usual source, (b) The author's video output circuitry, with a
similar clip lead jumper normally in place for display purposes, but free to be moved around for testing purposes.
53
M M M * M r r r
Photo 3: Moving the alli-
gator clip probe to address
bit 7 at point 2 in figure I
yields this display. Here
the line counts of several
lines are shown at the left
of the picture.
Photo 2: Exploring the cir-
cuit with the probing alli-
gator clip produces various
interesting signals. Here
the clip looks at address
bit I, point I on figure I.
This signal changes state
every other character posi-
tion, giving vertical bars
two character widths wide.
Note the distortion at the
top of the image, not nor-
mally seen due to blanking
of the display.
Photo 4: Looking at a
single dot position. When
the alligator clip is moved
to point 3 on figure I, this
pattern is produced. Each
character has seven hori-
zontal dot positions, of
which two are inactive
spacing positions, and five
are used for character gen-
eration.
Photo 5: A garbage display
field, obtained by the
application of power to
the memory. Each chip
has a preferred start-up
value, so this pattern tends
to be the same whenever
one turns on the display.
In this picture, blanking
has been suppressed, so
the distortion due to non-
linearities at the top of the
screen is quite visible.
schematic (June 1976 BYTE, page 18)
between the output of IC 7 pin 12 and the
level control and bringing it off the printed
circuit board through the edge connector,
we can insert an alligator clip lead in series as
seen in figure 2a. The equivalent connection
modifying my own interface, published in
J uly 1 976 BYTE, page 38, is shown in figure
2b. Now by using the clip lead as a test
probe, any TTL level signal within the
system can be displayed on the TV set
to facilitate system development and
debugging.
This TV oscilloscope will display signals
as intensity modulation within the display
field area, instead of as the vertical
deflection on a real oscilloscope. Since the
hardware we are building operates in
synchronism with the field produced by the
composite sync, and since our signals are all
digital with a TTL logical 0 showing as white
and logical 1 as black, this is not a real
disadvantage.
For example, probing around in my
system I can display the output of the next
to least significant bit of the address to the
character storage memory as seen in photo
2, test point 1 on figure 1. This output
should change state for every other character
position in the line. Counting the number of
bars in this picture, I saw that not all of the
64 characters were going to be visible, since
there are less than 32 bars showing in this
display. This told me that some adjustments
had to be made in the relationship between
the character counter, the horizontal sync,
and the time allowed for retrace. Also, as
seen at the top of the raster in photo 2, the
horizontal sync is imperfect following the
vertical retrace. This came about in my
system since the widths of the sync and
equalization pulses were not made the same
as TV standards. Since none of the 24 lines
to be displayed are affected, I concluded
that there was no need to cure this
"problem."
Photo 3 is another of the address lines to
the memory, in this case the bit which will
change state once every other character line
(test point 2 in figure 1 ). The line counts for
several positions are shown on this picture.
A single dot time (one of seven per
character) as displayed on the TV oscillo-
scope is shown in photo 4 from test point 3,
figure 1. Examining this photo we might
expect some smearing of the characters to
occur when the character generator is
connected, since the "dots" are wider than
they are high. This is a result of the TV set
trying to display a 9 MHz dot rate.
Up to this point we have been able to use
the TV oscilloscope to test the portions of
54
ASSEMBLY AND OPERATING MANUAL $4.00
PLEASE PRINT OR TYPE
SEND CHECK • MONEY ORDER • COD'S ACCEPTED • CREDIT CARDS
SEALS ELECTRONICS, INC
P.O. BOX 11651
KNOXVILLE, TN 37919
MOST ORDERS SHIPPED WITHIN 10 WORKING DAYS
[Write in each box the quantity of each part required]
KIT ASSEMBLED KIT ASSEMBLED
] WWC "1 68EXT-L|~H
"2 68WWC [
] CH BBUC | |
88 EXT
68EXT-S
STATE .
ZIP.
- E l I I I 1 1 I I i
^™ r."."V| | ilu
L
[READ ONLY MEMORY]
ept up to 16 ea. 1702-A or 5203 EProm Providing up to 4096
Aiords of non-volatile memory for Boot Loads to Complete Programs.
Programming Available at Factory for $3.00 per EProm when accom-
panied by binary formated tape.
■ Each 1702-A has its own Vgg clocked for Low Power Consumption.
■ Will work with the weakest power supply based S-100 buss computer.
■ Switched Selected Address in 4K Blocks.
■ Switch selected wait states so that even the slowest 1702-A can work
in your system. 0-8 wait states.
■ Solder Masked on both sides of PC Board.
■ Component Screened on Component Side of PC Board.
Kit Price: . . $119.00 Assembled Price: . . .$179.00
[STATIC MEMORY CARD FOR SWTPC 6800]
8192 Words of Static Memory
Access Time: 500 nsec. (250 nsec on request)
Memory Chip 91 L02 APC
Battery Standby
Address Selected 8 Ea. SPST Dip Switch
Low Power
All Lines Buffered.
All IC's with sockets
Solder Masked on both sides of PC Board.
Assembled Price: . . .$359.00
STATIC MEMORY CARD]
rAIR®IMSAi®and S-100 buss compatible.
Access Time: 250 nsec max.
Ziloq Speed Compatible up to 4 mhz.
Memory Chip: 2102LHPC or 2102AL-2
Battery Standby: >1 .5 to 4 volts<
Address Select: 8 ea. Spst. Dip Switch.
Wait States: None
Current Reg.: Less than 200 ma per 1 K
All Address, Control, and Data out lines fully buffered.
All IC's supplied with IC Sockets
Solder Masked on Both Front and Back of P.C. Board .
Kit Price: . . $295.00 Assembled Price: .
.$395.00
OTHER SEALS ELECTRONIC PARTS AVAILABLE
Item No.
Description
8KSC
8K Static Memory Card 500 nsec
WWC
Wire Wrap Card
88 EXT
88 Extender Card
68 Ext S
Extender Card (Small) Bwt«i680apwnR»t.w<
68 Ext-L
Extender Card (Large)
68 WWC
Wire Wrap Card swrpcoBtxicoiinutitimptotWcii
BBUC
Battery Back-Up Card
Kit Price Assembled Price
$269.00
$ 37.50
$ 29.00
$ 19.00
$ 29.00
$ 35.00
$ 55.00
$369.00
$ 47.50
$ 38.00
S 25.00
$ 39.00
$ 45.00
$68.00
ORDER DELIVERY: FROM STOCK TO 10 DAYS
niSEni-SiiV
ELECTRONICSJNC.
TELEPHONE # 615/693-8655
Circle 15 on inquiry card.
Photo 6: A map of the
preferred states of one
memory chip. By tapping
into just one of the
memory data lines with
the display probe, it is
possible to generate a map
of the data. This data is
identical to that of photo
5, but we are now looking
directly at one bit, instead
of generating characters
from 8 bit byte groupings
of several chips. This same
technique of looking at
one bit can be done with
normal programmed dis-
plays, too, rather than the
turn on pattern used here.
the system that scan the dots making up the
characters and the scanning of the memory
addresses. When all is well to this point, we
could connect the programmable memory
address lines to the data inputs of the
character generator and display one of each
character, as Gantt did on page 17 of June
1976 BYTE.
The next step is the connection of the
display memory to the address lines, with
the display memory data going into the
character generator. Turning on the system
with the probe on the character generator
output, we find that the memory contents
will initially be an arbitrary pattern,
producing a screen full of garbage as in
photo 5. Note how the horizontal "pulling"
at the top of the screen distorts the
characters in the top line. As this is actually
line 26, it is not used in the display, and will
disappear after the "blank" signal is
connected as in figure 2b.
The arbitrary pattern is not totally so,
since a virtually identical pattern will appear
with each turn on. This is due to built-in
asymmetries in the memory chips, with each
bit having a preferred state to come up in
when power is initially applied. We can
connect our clip lead to one bit of the
memory data as in photo 6 and see that each
memory chip in the 2 K by 8 bit array has a
unique pattern visible in these preferred
states.
In photo 6, notice the obvious division in
the pattern about two thirds of the way
down the display. This corresponds to the
division between the lower 1 K (lines 0 thru
15) and the upper 1 K (lines 16 thru 23) of
memory, which use different chips.
After we connect the processor to the
input side of the memory, we can use this
same TV oscilloscope connection to examine
the setting and resetting of each bit at each
address under program control. Setting the
memory to all zeros, each bit we turn on will
appear as one black block in the display. The
TV oscilloscope can thus be used to insure
that the processor and display address
Photo 7: Physical layout
of the equipment. The
author's display is shown
here as it was built on
prototyping cards with a
bus wired backplane be-
tween connectors. The clip
lead is shown here at-
tached to memory address
bit 7, as used to generate
photo 3. The computer
and keyboard are in the
foreground.
i ^ ]>
..-A ,5 3 «
2&Stfr
i£4_JB
i 8 m$Mi I
wife
7
56
correspond correctly, and that data is
written correctly. (Of course, we could just
as well have put some message on the
display, too.)
Photo 7 shows the hardware in my
system. The clip lead can be seen connected
to the display memory address line out of
the timing board which was used to produce
the display in photo 3. Since all of the dot
signals, scan line signals, memory addresses,
and the memory read and write data buses
all appear on the backplane wiring of the
system, virtually everything in the system is
accessible to the TV oscilloscope test
instrument.
For even more versatility in the TV
oscilloscope, it might be useful to add an
AND gate and another clip lead, so that the
exact timing relationships between two
signals could be determined. Alternately,
one of the signals could be added into the
video at a different level to produce a gray
image so that the two signals could be
differentiated. [For looking at programmed
behavior, the same technique can still be
used if the vertical or horizontal sync signal
is used as a timing cue. Much more could
obviously be written on this subject as
readers adapt Ken's idea to personal use . , .
CH/"
BYTE's Bugs
A Structure Glitch
RESOLVE
FORWARD
REFERENCE
DUMP
SYMBOL
TABLE
I I
Jack Emmerichs called upon his
receipt of April 1977 BYTE and re-
ported a couple of errors in the execu-
tion of figure 3 on page 66. (As Murphy's
law would have it, figure 3 was moved
to the first part of the article at the last
moment at lack's request, and he did
not get to see author proofs for that
one figure.)
The major glitch is corrected by
noting the above segment of the dia-
gram in its proper form. Two minor
errors are an extraneous "level 3" at
the lower left of the diagram, and an
extraneous "Compare Strings" box in
the "General Service Routines" shown
at the lower right of the diagram."
COMPLETE
FLOPPY DISK SYSTEM
FOR YOUR ALTAIR/IMSAI
$699
That's right, complete.
The North Star MICRO-DISK SYSTEM™ uses the Shugart
minifloppy™ disk drive. The controller is an S-100 com-
patible PC board with on-board PROM for bootstrap load. It
can control up to three drives, either with or without
interrupts. No DMA is required.
No system is complete without software: we provide the
PROM bootstrap, a file-oriented disk operating system (2k
bytes), and our powerful extended BASIC with sequential
and random disk file accessing (10k bytes).
Each 5" diameter diskette has 90k data byte capacity.
BASIC loads in less than 2 seconds. The drive itself can be
mounted inside your computer, and use your existing power
supply (.9 amp at 5V and 1.6 amp at 12V max). Or, if you
prefer, we offer a power supply ($39) and enclosure ($39).
Sound unbelievable? See the North Star MICRO-DISK
SYSTEM at your local computer store. For a high-performance
BASIC computing system, all you need is an 8080 or Z80
computer, 16k of memory, a terminal, and the North Star
MICRO-DISK SYSTEM. For additional performance, obtain
up to a factor of ten increase in BASIC execution speed by
also ordering the North Star hardware Floating Point Board
(FPB-A) . Use of the FPB-A also saves about 1 k of memory by
eliminating software arithmetic routines.
Included: North Star controller kit (highest quality PC
board and components, sockets for all IC's, and power regula-
tion for one drive), SA-400 drive (assembled and tested),
cabling and connectors, 2 diskettes (one containing file DOS
and BASIC), complete hardware and software documentation,
and U.S. shipping.
MICRO-DISK SYSTEM ... $699 To place order, send
(ASSEMBLED) $799 check, money order or
ADDITIONAL DRIVES. . . $425 ea. ^ or MC card* with exp.
0._^-Tr.„ Z. __ date and signature. Uncer-
DISKETTES $4.50 ea. tifted checks require 6
FPB-A $359 weeks processing. Calif.
(ASSEMBLED) $499 residents add sales tax.
NORTH STAR COMPUTERS, lf\lC.
2465 Fourth Street »
Berkeley, CA 94710 '
57
Circle 16 on inquiry card.
Continued from page 6
SERIAL ELECTRONIC
INTERFACE
BUBBLE TO
ELECTRONIC
INTERFACE
"^
c
MAJOR LOOP WITH PARALLEL TRANSFER TO MINOR \\ LOOPS AND BACK
&1k-k-k&Akk---kkA-A-kA-A-&
64I
BIT POSITIONS /
IN EACH MINOR
LOOP
v_y
w
\-S
W
v_y
\^y
W
ELECTRONIC
TRANSFER CONTROL INTERFACE
(MAJOR TO MINOR, MINOR TO MAJOR,
OR CIRCULATE )
W W
I44 MINOR LOOP
SHIFT REGISTERS
Write Operations:
1. Serially load major loop
2. Align minor loops to desired record
3. Transfer major loop to minor loops' top bit position
Read Operations:
1 . Align minor loops to desired record
2. Transfer minor loop's top bit position to major loop
3. Serially unload major loop and use data
Figure I: Conceptual dia-
gram of a magnetic bubble
film memory. This dia-
gram is concocted from a
general knowledge of the
way bubble memories
work, with captions based
en the figures given by
Texas Instruments' press
release on the TBM0I03
memory part. The mem-
ories to be used must
also have support hard-
ware (or software) to
sequence the various steps
needed to randomly or
serially access desired 144
bit blocks stored in the
chip's minor loop shift
registers.
consists of serially loading the 144 bits into
the major loop, then transferring all 144 bits
into the minor loops; reading is done in
reverse order by copying the currently posi-
tioned bits of all 144 minor loops into the
major loop then serially reading the major
loop. The result is a nonvolatile file storage
device which has 641 blocks of 18 bytes
per block, a total of 11,538 bytes in one
14 pin dual in line package measuring 1.0
by 1 .1 by 0.4 inches (2.5 by 2.8 by 1 .0 cm).
Using a volume parameter for memory
density, this elephant of a memory stores
200,000 bits per cubic inch (13,000 bits per
cubic centimeter) in a nonvolatile magnetic
medium.
With this short introduction to the
existence of a new low cost, high density
memory system, what are the ramifications
of such a part for the personal computing
user? I'll confine my comments to two
major classes of application for the memory,
applications which take advantage of its
nonvolatility, low cost of. 22 cents per bit in
sample quantities, and the large size of each
part's memory. The first class of applications
for the bubble memory is as nonvolatile
file storage in minimum size personal com-
puting systems analogous to pocket calcula-
tors; the second class of application is as
on line file storage for larger general purpose
desk top or console personal computers.
Superficially, the difference between the
two classes of application is in the number
of these bubble memory parts used with the
product.
What Can You Do with J ust One?
Consider first the pocket programmable
calculator. At the April 6 1977 meeting of
the New England Computer Society, Bev
Pettit of the Hewlett-Packard calculator
sales office in Lexington MA gave an excel-
lent presentation of the functional capa-
bilities of the new HP-67 and HP-97 calcula-
tors, two products which represent the
ultimate in pocket calculator performance
to date. These machines can be used to
perform fairly sophisticated problems, with
overlay structures for data and program
material swapped using the magnetic card
medium incorporated in the design. But, the
machines are limited by the fact that there
is a finite set of data registers (26, if I recall
correctly) and 224 programming steps. What
would be the impact of adding a bulk pro-
gram storage facility implemented with the
Tl bubble memories or equivalent? Viewed
only as a calculator, with 8 bit command
codes for each function, just one such bub-
58
ble memory chip would lead to a device
which could permanently store interpretive
calculator programs with an aggregate total
of 1 1 ,538 program steps, or an improvement
of program capacity nearly two decimal
orders of magnitude. Or viewed as data
memory, the same single chip could ac-
comodate over 1400 floating point numbers
in an 8 byte representation. (I have no
information on the details of the HP-67's
internal representation, but assuming
thirteen 4 bit BCD mantissa digits, two
BCD exponent digits, and one 4 bit field
for signs, an 8 byte floating point representa-
tion is a fair estimate for the typical calcula-
tor's characteristics.) But simply to generalize
the calculator's programming techniques to
a much larger program and data storage field
is not the ideal situation. For example, the
HP-67 and HP-97 systems use an interpretive
"label" operation code to identify places
within a program. When the label is
referenced by a "go to" command or "call
subroutine" command, the internal opera-
tion is to search linearly through the pro-
gram memory field looking for a label
operation code followed by the correct
identification. This works quite acceptably
in a calculator with a 224 step capacity, but
would produce unacceptably long delays in a
memory field of the size represented by just
one of these new bubble memory chips.
As the new capacity gets incorporated
into the small personal computers called
programmable calculators, we can expect to
see the beginnings of more sophisticated
calculator operating systems and interpreters
with features needed to take advantage of
such memory. The lowly hand held calculator
will start having the data management fea-
tures of the magnetic disk based minicom-
puter, but miniaturized to numeric symbols
and smaller total capacity. Perhaps we might
even see a limited (ie: somewhat inconvenient
for touch typists like myself) alphanumeric
data storage mode for program names and
variable symbols in the next generation of
calculators, reminiscent of the "Minisec"
of Arthur C Clarke's Imperial Earth which
I summarized in my April 1977 editorial.
What Can You Do with Just "N"?
In a more expensive console or tabletop
personal computing system, the same charac-
teristics of nonvolatile electronically con-
trolled bulk storage which expand the cal-
culator concept can be applied to the general
purpose computer system concept. Basically,
the bubble memory makes possible a very
large totally electronic on line buffer storage
memory, at a price compatible with personal
computing economics. Since the memory is
Articles Policy
BYTE is continually seek-
ing quality manuscripts writ-
ten by individuals who are
applying personal systems, or
who have knowledge which
wiU prove useful to our
readers. Manuscripts should
have double spaced type-
written texts with wide mar-
gins. Numbering sequences
should be maintained sepa-
rately for figures, tables,
photos and listings. Figures
and tables should be provided
on separate sheets of paper.
Photos of technical subjects
should be taken with uniform
lighting, sharp focus and
should be supplied in the form
of clear glossy black and white
or color prints (if you do not
have access to quality photog-
raphy, items to be photo-
graphed can be shipped to us
in many cases). Computer
listings should be supplied
using the darkest ribbons pos-
sible on new (not recycled)
blank white computer forms
or bond paper. Where possible,
we would like authors to sup-
ply a short statement about
their background and experi-
ence.
Articles which are accepted
are typically acknowledged
with a binder check 4 to 8
weeks after receipt. Honorar-
iums for articles are based
upon the technical quality and
suitability for BYTE's reader-
ship and are typically $25 to
$50 per typeset magazine
page. We recommend that
authors record their name and
address information redun-
dantly on materials submitted,
and that a return envelope
with postage be supplied in
the event the article is not
accepted."
59
Microcomputer
Quay 80AI
does much more
with the Z-80,
0U3H
This dynamite new microcomputer
system in a kit moves data like nothing
else on the market. Run it alone or
plug it into an S100 bus Altair/IMSAI.
For solo performance, all you need is
•an unregulated power supply and an
I/O device, Plugged in, Quay 80AI is a
CPU, ROM, SIO, and RAAA board— run
any 5100 compatible device. BUT
MORE THAN THAT. Quay 80AI's Z-80
CPU opens challenging new areas of
personal computing.
Features
D S100 bus compatible. Plugs in one slorof
your Altair or IMSAI.
D Z-80 w/2.5 MHz clock.
D 1 K static RAM.
D 512 byte (ROM) monitor. Comes up
running. Inspect, alter, dump, and load
memory; set breakpoint jump to user
program. Handles serial I/O or keyboard
input, including setting baud rate.
D 4 UVEPROM (2708) sockets.
□ Serial I/O. P5-232 and 20 ma interface.
D Parallel keyboard input. AccepR stan-
dard ASCII keyboard.
D UVEPROM programmer. Program 2708
type UVEPROMs.
O 2 phase clock and sync. Run 5 100 com-
patible peripherals.
□ 1 58 instructions. All 78 3080 instructions
plus 80 new powerful instructions.
□ On board voltage regulators.
Quay 80AI in a kit is $450; factory as-
sembled, $600. Send for complete
details. Or for fast action call 201-
681-8700.
Mastercharge ond BankAmericard accepted. COD with
1/3 deposit. NJ. residents odd 5% soles tox. Wee does
not include shipping ond handling.
Dealer inquiries invited.
CORPORATION
P.O. Box 386, Freehold, NJ. 07728
Phone: 201-681-8700
Circle 17 on inquiry card.
otoit it!
Given a choice for
your home computer
investment,
you'd want
city. With an appropriate operating system
and high level language built into the read
only memories, the symbolically named
files in this bubble memory region can be
rolled in or out of the 1 6 K volatile program-
mable memory region as desired. Using the
audio tape interface at the end of a program-
ming session, the file memory could be
checkpointed automatically onto tape while
the user attends to some other noncomputer
related activity like eating, sleeping, etc.
(Assuming an audio tape interface at
100 bytes per second, it would take 923
seconds or about 15 minutes to dump the
state of the file memory, plus about three
minutes to dump the programmable volatile
memory of 16 K bytes.)
What would such a conception cost?
Perhaps $2000 to $3000, assuming produc-
tion quantities of the bubble memory cost
significantly less than $200, that the sup-
port circuitry is not excessive, and that the
rest of the system uses existing technology.
This would be the minimum configuration
of such an "appliance computer circa
1977-1978." The logical next improvement
in performance would be to incorporate
one Shugart style minifloppy disk file, at
perhaps a $500 to $800 increment in price.
The bubble film memory is functionally
totally electronic there is no problem with
mechanical design considerations, an advan-
tage which is offset by the constraint of not
having removable media as is the case for a
floppy disk. As the price of the parts goes
down with eventual mass production, the
cost per installed bit has the potential of
dropping well below that of the removable
media floppy disk storage devices.
The implications of this bubble memory
for the "appliance" computer are most
interesting. Let's consider what the new
"minimum" personal computing system
which incorporates the bubble memory
medium might look like. First, the sys-
tem includes a typical microprocessor de-
sign with eight of the contemporary 16 K
dynamic memory parts for main memory,
with perhaps 8 K to 1 6 K of systems soft-
ware in read only memory. Peripherals
built-in include video display (interface or
built-in monitor depending on the manu-
facturer), and alphanumeric keyboard, with
a high speed audio cassette interface for
long term program storage. For filing of
current programs and data this minimum
system incorporates eight of the TBM0103
bubble memory units, giving a capacity of
92,304 bytes of data or program file capa-
Flexibility
You'd want 8 or 16-bit digital
computers with fully expandable
memories and a variety of I/O
interfaces. Such versatility lets
you optimize the system for your
hobby, education or small
business application.
60
Operating
Cctitfierce
You'd want an 8-bit computer
featuring an intelligent front
panel with octal keyboard entry
and display for fast readout,
a resident monitor with built-in
bootstrap for one-button
program entry or storage. Or a
powerful 16-bit computer with
resident monitor.
Tl happens to be the first to commercially
market the bubble memories. (AT&T has
already been using them for several months
in production phone equipment, but these
parts are not available to general commercial
users.) If we use the example of the Shugart
minifloppy disk drives as a prototype for
the delay from announcement to proven end
user product for a system of similar com-
plexity, then we can expect to see end user
deliveries of mass storage subsystems for
present day personal computer systems
sometime late this coming fall. (This editorial
was written April 8 1977.) As for complete
computer systems which make the bubble
memory an integral part, I would tend to
expect the first such systems in the first
half of 1978 or sooner depending upon the
cleverness and resources of the companies
which ultimately produce such products. In
the meantime, perhaps some technologically
enterprising reader will purchase the early
sample versions of the bubble memory chips
along with documentation, and design a
homebrew computer interface which we can
publish for the benefit of all BYTE readers.
The bubble memory, a long awaited promise,
has finally become a technological and
commercial reality available for use in
personal computing products."
very similar to a floppy disk. The bubble
memory's data transfer rate, at 50 kbps,
is comparable to the transfer rates of the
small floppies, and its access time to
blocks of data is approximately one to two
orders of magnitude faster (12.8 ms versus
typically 250 to 500 ms head positioning
time on a floppy disk). But the bubble
memory chip capacity of 92,000 bits is
about the same as the capacity of the
typical 5 inch floppy disk. Using one floppy
disk drive for its removable media attributes,
and the standard permanently "mounted"
simulated floppy disk of the bubble memory,
this appliance computer concept now has
the ability to "instantly" copy disk files,
sort data within the constraints of two
92,000 byte file regions, and do many
of the "memory intensive" tasks usually
associated with large interactive systems.
When Will We Users See Products?
The announcement by Texas Instruments,
accompanied by extensive advertisements in
the electronics trade press for the bubble
memory, a 64 K charge coupled device,
volatile memory and large 16 K dynamic
programmable random access memories, is
aimed primarily at designers of new products.
Peripherals
You'd want a complete line of
system compatible peripherals
including a CRT terminal, paper
tape reader/punch, and audio
cassette mass storage.
(more)
61
Continued from page 34
Type 03: External Symbols
Byte
number
1
2,7
Description
Dollar sign ($) delimiter.
Up to 6 ASCII characters of the
external symbol name. The name
is left justified, blank filled.
8,9 Record type 03.
10,13 Last address which uses the ex-
ternal symbol. This is the start of
a link list which is described be-
low. The most significant byte is
first.
14,15 Binary checksum.
CRLF Carriage return, line feed.
The Mostek SDB-80 assembler outputs the
external symbol name and the last address in
the program where the symbol is used. The
data records which follow contain a link list
pointing to all occurrences of that symbol.
This is illustrated in figure 1 .
1. The external symbol record shows the
label ( LAB ) and the last location in
Documentation and
Sorties Support
You'd want superior
documentation with assembly,
operation and software manuals
that are the most thorough and
accurate around, plus a factory
and retail network of trained
service personnel that can help
you get up and running fast.
9
Software
You'd want each computer
supplied with full system software
at no extra cost (assembler,
editor, BASIC, debug). And
enhanced system software and
ready-to-use applications
programs available at a
nominal cost.
the program which uses the symbol
(212AH).
2. The object code at 21 2A has a pointer
which shows where the previous
reference to the external symbol oc-
curred (200FH).
3. This backward reference list continues
until a terminator ends the list. This
terminator is FFFFH.
This method is easy to generate and decode.
It has the advantage of reducing the number
of bytes of object code needed to define all
external references in a program. Intel defines
each external reference explicitly.
• Type 04: Relocating Record
The addresses in the program which must be
relocated are explicitly defined in these re-
cords. Up to 16 addresses (64 ASCII char-
acters) may be defined in each record.
Byte
number Description
1 Dollar sign ($) delimiter.
2, 3 Number of sets of 2 ASCII char-
acters. Where two sets define an
address.
62
Circle 18 on inquiry card.
4-7 ASCII zeros.
8,9 04
10 Addresses which must be relo-
cated.
Last 2
bytes Binary checksum.
CRLF Carriage return, line feed.
• Assembler Object Output Sequence
The SDB-80 Assembler will output object
records in the following sequence:
1. Internal symbols (type 02) in alpha-
betical order.
2. External symbols (type 03) in alpha-
betical order.
3. Data records (type 00), interspersed
with relocation records (type 04).
4. End of file record (type 01 ).
Internal symbol records will be outputted
only if internal symbols are defined in the
source program. The same is true of external
symbol records. Relocation records always
will be outputted by the assembler."
It* fill tours
Because the world-leader in
quality electronic kits has
researched the needs of the
computer hobbyist and
developed some of the most
sophisticated and affordable
products around.
HEATHKIT
They're the ones you've been waiting for!
A i/aliie/price
liliTiWli
You'd want all hardware systems
in stock in easily affordable
and buildable kit form from the
world's largest and most
experienced kit manufacturer.
Systems designed to give you
more and better features for your
computer dollar. And all backed
by a "We won't let you fail" promise.
GLOSSARY
Object module The output from an assembler is
called the object module. One or more object
modules can be placed into memory by a loader.
The output from the loader is called a "load
module."
Relocatable program: A program which has extra
information in the object .module is referred to as
relocatable. The extra information allows the
loader to place the program anywhere in memory.
A nonrelocatable program can be loaded only in
one place in memory in order to work properly.
Position independent program: A program which
can be placed anywhere in memory is called posi-
tion independent. It does not require relocating
information in the object module.
Internal symbol: A symbol which is defined in a
program and whose location is made known to
all other programs is called an internal symbol.
It is also called "public" (Intel), "defined,"
"global," or "common."
External symbol: A symbol which is used in a
program but which is not defined in the program
is called an external symbol. Such symbols must
be defined as internal symbols in other programs.
Linkable program: A program with extra informa-
tion in the object module which defines internal
and external symbols is called a linkable program.
The loader uses this information to connect, or
link, external references to internal symbols.
63
Speech Recognition for a
Personal Computer System
James R Bocldie
Bell Laboratories
Murray Hill NJ 07974
The August 1976 issue of BYTE pre-
sented to the personal computer user an
introduction to half of the problem of man-
machine communication by speech: machine
generation of speech. Speech synthesis has
been investigated since at least the 1800s.
High quality speech can be produced by a
computer if it decodes utterances that have
been efficiently coded and stored in mem-
ory. Poorer quality, but sometimes accept-
able speech can be synthesized by electron-
ically simulating the human speech produc-
ing mechanism.
Speech communication in the other
direction, machine recognition of speech,
is usually considered to be a harder task. The
purpose of this article is to present some of
the problems and to introduce some solu-
tions that may be realized by the personal
computer enthusiast.
The ideal speech recognizer would be a
machine that could accept casually spoken
sentences from many speakers with different
dialects and transcribe them in real time into
written text or translate them into com-
mands for controlling some function. Un-
fortunately, there are at least five major pro-
blem areas in speech recognition that are
still incompletely solved.
• The Continuous Speech Problem. In
ordinary conversational speech our
words tend to "run together" acous-
tically. Say "How are you" and "How
(pause) are (pause) you." The con-
tinuous version is uttered almost as
a single word. What is the best pro-
cedure for segmenting such an utter-
ance into words?
• The Multiple Speaker Problem. People
say the same words differently. Can a
machine allow for these differences
or must it be "tuned" to each indivi-
dual user?
• The Limited Vocabulary Problem.
Error rates, recognition rates and
memory requirements increase with
vocabulary size. How many words
can be reliably handled by a machine?
• The Vocabulary Entry Problem. The
words in the vocabulary have to be
described to the computer in some
way. What is the most efficient way?
• The Noise Problem. Speech is filtered
by some transmission process or
corrupted by noise in transmission
media such as telephone or radio.
What is the best signal processing
technique for these conditions?
These are the problems that concern
many industrial and academic research lab-
oratories using the most sophisticated tech-
niques and equipment available. However,
there are some realistic goals for a speech
recognizer in a personal computer system.
That is, it should be possible to build a sys-
tem which can accept isolated words from a
limited vocabulary of ten -to 20 words
spoken by a speaker whom the machine has
been trained to understand. These goals are
well within the capabilities of most contem-
porary microprocessors.
Several such systems have already been
designed using a modest amount of discrete
64
Figure I: A speech encoding model. Messages from the brain in the form of desired words are processed through a series of
transformations to produce the finished speech. These messages come in the form of "phonemes, " or word building blocks (see
table I), which make up the desired word. This code is translated into appropriate neuromuscular signals which control the
speech "articulators": the vocal cords, vocal tract, lips, tongue and teeth. The other parameters in the figure show how dialect,
emotions, context and external noises can all have an effect on the final speech.
logic. (See the first six references in the
bibliography at the end of this article.) Each
of these systems can be easily duplicated
with a small amount of hardware such as a
microphone, amplifier, filters, an analog to
digital converter and a microcomputer. This
paper will show how one of these well
known recognizers can be implemented.
But first, a few basic facts about human
speech production.
The Speech Code
In order to construct a system for de-
coding speech you should know how the
acoustic signal is encoded with the desired
message. One way of looking at the process
is shown in figure 1. The message from the
brain may be thought of as going through a
series of transformations which modify it
by many factors. The word idea or linguis-
tic information is first translated into speech
sound units called phonemes. This "code" is
a collection of the descriptors of the sounds
necessary to say the words. In English there
are approximately 40 basic types of sounds
which are used to construct our entire
vocabulary. The phonemic code is translated
by the central nervous system into neuro-
muscular signals for controlling the physical
speech making apparatus or articulators'. The
articulators "modulate" the sound generated
by the vocal cords and produce the radiated
acoustic signal.
This process has sources of error. The
phonemic codes for various dialects are
different from one another. A speaker may
say the same word many different ways de-
pending on context or physical and emo-
tional state. Differences in the sizes of
people's articulators account for variations
between speakers. Day to day changes in
the articulators (due to a head cold, for ex-
ample) can cause variations in the way a
given person sounds. Finally, the acoustic
signal itself may be corrupted by noise or
filtering.
The message coding process produces a
signal which contains much information that
is not significant to the intended message
and which makes any direct comparison of
speech waveforms difficult if not impossible.
The extent of the coding inefficiency can be
seen by a simple example. The following
sentence:
"The objective of this section is to
develop these techniques."
contains 60 characters and can be spoken in
about three seconds. Using a 5 bit code for
alphabetic characters, real time transmission
at speech rates would require only 100 bps.
If the utterance were transmitted with a
string of 42 phonemes coded with six bits
each, then 84 bps would be necessary. How-
ever, if the speech signal itself were band-
limited at 3 kHz, sampled at 6 kHz, and
quantized to 256 levels or eight bits, real
time transmissions would require a rate of
48,000 bps. If a computer could analyze this
digitized speech in real time it would have to
process one 8 bit speech sample every
160 jis. A microcomputer with a cycle time
of 500 ns would have only 320 cycles be-
tween speech samples. That does not allow
time for very many instructions to analyze
and match the data with reference wave-
forms. The direct storage of the waveform
would require 6,000 bytes of memory for
every second of speech. It should be clear
that it is desirable to have a method of
rapidly extracting the useful information,
thereby reducing the amount of data storage
and computation time. A look at the speech
production mechanism provides some clues
for data analysis and reduction.
Speech Parameters
Speech sounds originate from two
sources. So-called "voiced" sounds are made
by the vocal cords and make up vowel-like
sounds. The vocal cords produce periodic
bursts of air through the vocal tract at a
repetition rate of about 1 25 to 200 Hz.
"Unvoiced" sounds or "fricatives" are
65
Voiced
Example
AE
bad
AH
father
Al
bite
AW
bought
AY
bay
EH
bet
EE
beet
ER
bird
IX
fit
OU
boast
UX
book
UH
but
UU
boot
WX
win
YX
yes
RX
rip
LX
lit
MX
man
NX
not
NG
ring
Fricatives
FX
fan
TH
bath
SX
sip
SH
ship
CH
church
HX
hand
Combinations o
f Voiced and
Fricative Sounc
s
VX
van
DH
than
ZX
zip
ZH
measure
Stops
JH
jump
PX
pan
TX
tan
KX
can
Voiced Stops
BX
ban
DX
dan
GX
gab
K
2000
£
b-
O 1500
>
u
Z
lu
=> 1000
Table 1: Speech phonemes. In English there
are approximately 40 basic types of sounds
which are used to construct the entire
vocabulary. These sounds are called
"phonemes. " The phonemes are not pro-
nounced literally, but rather serve as symbols
for their respective sounds. The phonemic
code is translated by the central nervous
system into neuromuscular signals for con-
trolling the physical speech making apparatus
or "articulators." "Voiced" phonemes are
the vowel-like sounds which are produced
in the vocal cords as periodic bursts of air
from 125 to 200 times a second. "Un-
voiced" phonemes or "fricatives" are noise-
like sounds made by forcing air through
constrictions in the mouth. Some phonemes
are combinations of voiced and unvoiced
sounds. "Stops" result from momentary
blockage of air flow (and sound).
noise-like and are made by forcing air
through constructions in the mouth. If the
air flow is completely blocked for a mo-
ment, the sound is called a "stop." Some-
times we make both voiced and fricative
sounds. Table 1 classifies various phonemes
into these source types. Phonemes have
special symbols that are often used, but this
table uses a machine readable format.
The vocal tract is like a pipe from the
vocal cords to the lips which has several
natural resonant frequencies called "for-
mants." This pipe acts like a filter that most
readily passes sounds whose frequencies are
the same as the formants. The three most
prominent formants are centered around
500, 1500 and 2500 Hz but they vary with
changes in position of the tongue, lips and
mouth. The voiced and unvoiced sounds can
be thought of as "carrier" signals that are
200 400 600 800 IO0O I200
FREQUENCY OF FORMANT I (Hz)
"modulated" by the resonances in the vocal
tract.
It is well known that there is a correspon-
dence between phonemes and the formant
frequencies. In fact, it is only necessary to
know the first two formant frequencies in
order to identify many vowel sounds. Figure
2 shows a map of several vowej sounds in a
plane formed by the first two formants. For
example, if you knew that for some interval
of a speech utterance the first formant was
at 800 Hz and the second at 2500 Hz, then
you might guess that the speech sound was
the phoneme "EH."
A nice property of formant data is that
it changes rather slowly. It is necessary to
sample the formant frequencies only every
10 to 20 ms in order to keep up with chang-
ing phonemes. This means that the motion
of two formants could be stored in only 100
bytes per second of speech as opposed to
6000 bytes per second for the waveform
itself.
Naturally, we would like a technique for
easily measuring the first two formant
frequencies by looking at the waveform
data. The most accurate methods require
either a lot of high speed computation or
special purpose hardware. Fortunately there
is a very simple way to get an estimate of
the formants which is most suitable for
microcomputer processing.
Zero Crossing Analysis
Since the late 1940s it has been known
that the amplitude of the speech waveform
carries little information. Most of the use-
ful information can be obtained from just
the knowledge of the number of times the
signal waveform crosses the zero axis. This
is called zero crossing analysis. [This method
would lend itself perfectly to Walsh trans-
form analysis. . .CM/ If you count the num-
ber of times the signal changes sign in a fixed
interval, say every 10 to 20 ms, you can get
numbers which closely follow the changes
in the first formant frequency. If you first
emphasize the higher frequencies by high
pass filtering, then the zero crossing rate
tracks the second formant frequency.
Figure 2: Vowel phonemes on the formant
plane. "Formants" are the natural resonant
frequencies of the vocal tract. These reson-
ances are similar to the resonant vibrations
of organ pipes or the characteristic sound
of an empty bottle when air is blown across
it. The three most prominent formants are
centered around 500, 1500 and 2500 Hz,
but they vary with changes in position of
the tongue, lips and mouth.
66
Although the zero crossing rates do not
give accurate estimates of formant fre-
quencies, they do contain enough informa-
tion to partially separate the vowels for
recognition purposes. Figure 3 shows a map
of vowels on a high pass versus low pass
zero crossing rate plane.
There are many advantages in using zero
crossing analysis techniques in digital speech
recognition. One of them is that the neces-
sary hardware is simple. Since only the sign
of the waveform is important, only one bit
per sample is needed, which eliminates a re-
quirement for an analog to digital converter
in the system. The analysis can easily be
done in real time since no multiplications are
involved - only counting. The zero crossing
parameters can be measured with simple
hardware or software as the signal comes in,
which eliminates the necessity of storing the
waveform. Because the amplitude informa-
tion is not used, the analysis is independent
of voice volume and inflection. This makes
zero crossing measurements somewhat less
dependent upon characteristics of individual
speakers.
Pattern Matching
After the acquisition of the zero crossing
parameters, the identification of the word
can be done using one of two simple
processes: in a one step approach, the para-
meter data is directly compared with
reference patterns (sometimes called
templates) for each word in the vocabulary.
The closest match is chosen as the most
probable utterance. In a two step method,
the parameter data is first converted into a
string of phonemes. Then this string is com-
pared with a phonetic representation of the
words in the vocabulary.
Both methods have problems. The one
step comparison suffers if the word is
spoken at a different rate from the words in
the sample set unless some technique is used
to find the best time alignment. The time
Figure 4b: A diagrammatic representation of
the word "SIX" on the zero crossing plane
using a form of state diagram. In this graph
the high and low pass functions from figure
4a are plotted against one another in stylized
fashion to better show how the zero cross-
ing rates change as the word Is pronounced.
(Note that the word begins and ends with
the same phoneme, SX.) The signal is split
into two bandpass regions because these
particular regions reveal key attributes of
English words which can act as types of
"fingerprints" of the words for later indenti-
fication.
O uj
in <
O I
oc o
u (/I
o w
uj °-
fM I
li. 52
O I
Figure 3: Vowel formants
on the zero crossing plane.
For comparison purposes
the formants in figure I
are plotted here on the
zero crossing plane. The
term "zero crossing rate"
refers to the number of
times that the voice signal
changes its polarity per
unit time (see figure 4a).
NUMBER OF ZERO CROSSINGS PER 16 mS
(LOW PASS CHANNEL)
ZERO
CROSSING
RATE
SX
IX'
- KX -
SX'
TIME
Figure 4a: A plot of the word "SIX" showing the zero crossing rate as a
function of time. The word is shown split into its four phonemes. In this
case, the signal is first processed through two bandpass filters. The number of
zero crossings is then determined by the computer. Results for both filters are
shown. As the graph indicates, there Is a very short period of silence during
the pronunciation of the KX phoneme which can be verified by slowly
pronouncing the word "six. "
LOW PASS ZERO CROSSING RATE
SILENCE
AT ORIGIN
67
SPEECH INPUT STAGE
MICROPROCESSOR
INTERFACE
MICROPHONE
CD
ici ;
PIN 14:5V DC
PIN 7:GND
PARALLEL INPUT
PORT
Figure 5: Speech filtering circuitry. A voice signal is picked up by the microphone and preamplified. It is then sent through a
low pass filter made up of CI and R1 whose cutoff frequency is 3 kHz. The signal is next passed through a I kHz high pass filter
and a I kHz low pass filter as shown. The two signals then go to the microprocessor interface for further processing. ICI, which
forms the basis for this circuit, is a quad LM 3900 op amp. The diode-like symbols shown on the four amplifiers indicate the
use of "current mirrors" for the noninverting inputs. For a detailed discussion see National Semiconductor's book, Linear
Integrated Circuits, page 2-250 and following.
NUMBER OF ZERO
CROSSINGS PER
l6mS
(HIGH PASS
CHANNEL) 80
64
32
P(29)
P(30)
P(7)
P(8)
P(l)
P(2)
P13)
P(4)
P(5]
P(6)
6 13 19 25 32
NUMBER OF ZERO CROSSINGS PER l6mS(L0W PASS CHANNEL)
Figure 6: In order to implement the speech recognition algorithm, 60 samples
of speech over roughly I second's duration are sequentially processed
through the circuit illustrated in figure 5. For each of the 60 intervals
the number of high and low pass zero crossings per second is counted and
stored in a software array corresponding to the regions in this figure. (This
figure is not to scale.) After this, a straightforward statistical correlation is
performed on the array to compare it with a series of word models in the
memory and to arrive at the most likely match.
dependence can be eliminated by consider-
ing the pattern of the data plotted on a zero
crossing plane. Figure 4 shows how the word
"six" might be plotted. The one step
method has the double disadvantage that a
lot of memory is required for template stor-
age and that the matching may be more time
consuming. Two step systems use less
memory in the template storage but depend
on the performance of an imperfect phon-
eme indentifier. The phoneme matcher must
be able to tolerate errors such as missing,
mislabeled or extraneous phonemes in the
hypothesized string. For example, the out-
put from a phoneme indentifier given in the
utterance "six" (or "SX IX KS SX") might
be "SX SX EE IX IX EH KX SX SX."
A Practical Speech Recognizer
You have probably realized by now that
there are many possible approaches to the
analysis and recognition of speech. With
this in mind, we can now consider in detail
an isolated word recognizer that can be
implemented on most microcomputer
systems. This algorithm is based on one of
the earliest successful word recognition cx-
68
The book you've waited for is here!
„**
<e
^
.</
o
%
&
^
«£**«. INDEX& REGISTER
ROMs
/
/
&>* % EPROMs
UNDERSE4NDING
COMPUTERS
AND SMALL COMPUTER
SYSTEMS
_
What's an accumulator? How do you use relative addressing? Indexed addressing?
Boolean logic operations? Does a program counter count programs? What's an I/O
port? What are EPROMS? What is paging? A stack? The difference between a dot
and vector CRT display? How do you copy programs using an ordinary tape
recorder? What can a microcomputer really do? What kind of personal computer
system should I buy?
These and hundreds of other questions about microcomputers are answered
in this profusely illustrated, easy-reading "must" book. Here are the funda-
mental concepts behind the operation of virtually all microcomputers . . .
written in simple English so that anyone can gain the extra knowledge
that will let him or her read and understand computer magazines and
manufacturers' literature and feel "at home" around computers. Here
are just some of the items discussed . . .
How a CPU is organized and how it follows sequences of directives
to solve problems.
• Illustrates basic instructions from almost every class of
microprocessor.
• Discusses common memory addressing modes — illustrates
\ typical uses.
\ • What you must know to tell a computer what to do
%i when using machine language programming methods.
• Explains use of flow charts; program worksheets;
hand assembly of source codes into object codes;
memory maps; purpose of an Editor, Assembler,
Jjfk Monitor.
• Benefits of using a high level language
;||k —introduction to BASIC.
• How a computer communicates.
Types of commonly used input/out-
put devices and their operational
concepts.
• Practical aspects of selecting a
small computer system.
Plus, hundreds of other practical
facts and information.
If you're at all curious about small computers,
you must own this 300 page no-nonsense text
that reads like a simple book, and includes
an easy-to-use glossary of key microcomputer
oriented words. UNDERSTANDING MICRO-
COMPUTERS. The name says it all. And, it
all costs only $9.95. Order your copy today!
AT 1CEEEI COMI LITER
fccONIlMIING INC.
^^- PO Box 133 — PP STN
Milford, CT 06460
Price shown for North American customers. Master
Charge, Postal and Bank Money Orders preferred.
Personal checks delay shipping up to 4 weeks. Pric-
ing, specifications, availability subject to change
without notice. SCELBI Books are available in many
fine Computer Stores.
Circle 19 on inquiry card.
FOR J = 1 TO 60
F1(J) = 0
F2 (J) = 0
FOR I = 1 TO 100
[Delay for 160 nS loop time]
INPUT X
X1 = XOR (X, X0)
IF XI > 1 THEN F2 (J) ■■
IF (X1 = 1) OR (X1 =3)
X0 = X
NEXT I
NEXT J
= F2 (J)+1
THEN F1
(J)
;lnput speech port
;Exclusive OR input with last sample
;State change or bit 1
F1 (J) +1 ;State change or bit 0
;Save last sample
Listing 1 : The input algorithm. Arrays Fl and F2 store the number of zero
crossing counts in each 16 ms interval for the low pass and high pass channels
respectively. This listing, like the following listings, is written in BASIC for
illustrative purposes, but it must be translated into machine language to
achieve real time performance.
100
200
FOR I = 1 TO 30
P (I) =0
NEXT I
FOR J = 1 TO 60
FOR 11 = 1 TO 5
IF G1 (ID > F1 (J) THEN 100
NEXT 11
11 = 6
FOR 12 = 1 TO 4
IF G2 (12) > F2 (J) THEN 200
NEXT 12
12 = 5
I = (12-11*6+11
P(l) = P (I) +1
NEXT J
FOR J = 1 TO L Correlate
R (J) = 0
FOR I = 1 TO 30
R (J) = R (J) + P (l)*T (I, J)
NEXT I
NEXT J
J1 = 1 ;Pick best
R1 = R (1)
FOR J = 2 TO L
IF R (J) > R1 THEN R1 = R (J) : J1 = J
NEXT J
PRINT J1
INPUT "TEMPLATE NUMBER," L
FOR I = 1 TO 30
P1 (I) = 0
NEXT I
FOR K ■ 1 TO 8
INPUT "READY?", Q
[Call routine for sampling speech and computing P]
FOR I = 1 TO 30
P1 (I) = P1 (I) + P (I)
NEXT I
NEXT K
FOR I = 1 TO 30
T (I, L) = P1 (l)/8
NEXT I
Listing 2: The classifica-
tion and accumulation rou-
tine. This routine takes the
information from arrays
Fl and F2 and stores it in
array P, which represents
the zero crossing plane.
Listing 3: The correlation
routine. This routine com-
pares the completed array
from listing 2 with various
word models in memory
and uses standard statistical
methods to find a best
match. For a ten word
vocabulary the entire
speech recognition algo-
rithm can be run in less
than 69 ms.
Listing 4: The template
generation routine. A
"template" is a word
model in the form of an
array. This routine, which
can be run off line (in
BASIC if desired, since
there are no time restric-
tions), is used to generate
all of the word models in
the vocabulary desired.
Eight samples of a given
word are uttered by the
operator and averaged to-
gether to create each word
template.
periments (see reference 1). Originally built
with mainly analog components, it could
recognize telephone quality digits from a
single speaker with an accuracy better than
97 percent in real time. A microcomputer
using a minimum amount of extra hardware
can easily duplicate this performance.
The input stage is shown in figure 5. The
speech is low pass filtered at 3 kHz and split
into a 1 kHz high pass channel and a 1 kHz
low pass channel. These filtered signals are
compared with a reference voltage level and
logic outputs indicate the result of the com-
parison. That is, a logic 0 results from a sig-
nal level greater than the reference and a
logic 1 results from a level less than the ref-
erence. Proper adjustment of the reference
levels will allow the measurement of the sign
of the signal. The outputs from this stage are
connected to the two least significant bits of
a parallel input port.
The microcomputer must sample the
input port every 160 p.s and count the num-
ber of state changes (zero crossings) over 16
Ms intervals. If the input is sampled for 60
intervals, then the machine will have "list-
ened" for 0.96 seconds, which is more than
enough time to pronounce most individual
words.
Listing 1 is the input algorithm. It is
written in BASIC for illustrative purposes,
but it must be efficiently translated into
machine language to achieve real time
performance. All variables are 1 byte
integers unless otherwise noted. The inner
loop must be executed once every 160 us.
This can be done by using software delays
or an external clock. The listing does not
show details of how this delay is accom-
plished. The F1 and F2 arrays are used to
store the zero crossing counts in each 16 ms
interval for the low pass and high pass
channels respectively. Of course, the "IF"
statements can be replaced by a simple
"rotate into carry, branch if carry" in the
machine language code.
The next step is to divide the low pass
versus high pass (F1, F2) plane into 30 re-
gions as shown in figure 6. Then for each of
the 60 intervals, the zero crossing counts in
Fl and F2 are located on this plane and
associated with one of the regions. A 30 ele-
ment array P keeps up with the number of
points in each region. This distribution of
points in the Fl, F2 plane is used as the
input pattern to be compared with the refer-
ence patterns.
Listing 2 illustrates the classification and
accumulation routine. TheG1 and G2 arrays
contain the information about the division
of the F1, F2 plane. They should be initial-
ized (in BASIC or equivalent machine code)
as follows:
70
READG1
DATA 6, 13, 19,25,32
READG2
DATA 32, 48, 64, 80
The calculation of index I involves a multi-
plication by a constant 6. This can be most
quickly done by coding:
I =(I2-1)*2 + (I2-1)*4+ 11
This BASIC statement can easily be trans-
lated into machine language using two left
shifts and addition operations.
The pattern matching is done by correlat-
ing the P array with precomputed reference
patterns for each word in the vocabulary.
The word with the best match is picked as
the most likely utterance.
Listing 3 gives the pattern matcher
routine, expressed in BASIC. L is the num-
ber of words in the vocabulary. R is an array
that contains the calculated correlation
values for each word. T is a 30 by L array of
reference templates. The number corres-
ponding to the template which best matches
the input is printed as J 1 . The calculation of
R requires 30 times L multiplications, which
can be very time consuming. For a ten word
vocabulary and an 8080 processor (one 8
by 8 bit software multiply in 230 /us) the R
calculation can be done in 69 ms. Also note
that while the numbers in P are always
positive, this does not apply to the numbers
in T. R should be a double precision (2 byte)
number to avoid overflow.
The templates are generated by averaging
several sample patterns for each word. Much
of this task can be done off line rather than
in real time, so it can be coded in BASIC or
other interpretive languages. A direct
machine language coding is relatively straight-
forward, however.
Listing 4 shows how eight patterns are
averaged to form a template. The program
uses the code of listings I and 2 to obtain
the pattern in array P. The accumulation of
the P1 array should be done with 2 byte
arithmetic. The division by 8 is accom-
plished by a simple right shift three bit
places.
Finally, a little data massaging is neces-
sary. To make this type of correlation
pattern matching work, each template
should have the same statistical properties.
Specifically, each template should have a
mean value of zero and a normalized
standard deviation. This is easily done with
the program in listing 5. The removal of the
mean is simplified by the fact that the mean
for each template is the same (60 intervals
divided by 30 regions gives a fixed mean
value of 2). The normalization of the stan-
dard deviation involves computing a square
FOR J = 1 TO L
FOR I = 1 TO 30 Subtract mean
T (I, J) = T (I, J)-2
NEXT I
S = 0
FOR I = 1 TO 30
S = S + T (I, J) * T (I, J)
NEXT I
S2 = SQRT (S)
FOR I = 1 TO 30 formalize
T (I, J) - 8 * T (I, J)/S2
NEXT I
NEXT J
root. If the square root function subroutine
is not available, then it can be computed
manually with a pocket calculator and
entered by hand (PRINT S : INPUT S2).
This is not too painful since it needs to
be done only once for each word in the
vocabulary. S should be a 2 byte integer,
and the division by S2 should be done using
double precision arithmetic.
The templates can be saved and used
indefinitely without alteration, but new
templates will be necessary for different
speakers. Composite templates can be
made by averaging the reference patterns
of several talkers, but they do not work
as well as individualized ones.
This very simple speech recognizer is only
one of many systems that can be adapted to
microcomputers. Much more information on
the digital analysis and synthesis of speech
can be found in the IEEE Transactions on
Acoustics, Speech and Signal Processing,
which is available in most engineering
libraries."
BIBLIOGRAPHY
1. Davis, Biddulph, and Balashek, "Automatic
recognition of spoken digits," Journal of the
Acoustical Society of America, volume 24,
pages 637-642, November 1952.
2. Ross, "A limited-vocabulary adaptive speech
recognition system," Journal of the Audio
Engineering Society, volume 15, pages 414-416,
October 1967.
3. Gilli and Meo, "Sequential system for recog-
nizing spoken digits in real time," Acustica,
volume 19, pages 38^4, 1967.
4. Teacher, Kellett, and Focht, "Experimental,
limited vocabulary speech recognizer," IEEE
Transactions on Audio and Electroacoustics,
volume AU-15, pages 127-130, September 1967.
5. Purton, "Speech recognition using autocorrela-
tion analysis," IEEE Transactions on Audio and
Electroacoustics, volume AU-1 6, pages 235-239,
June 1968.
6. Bezdel and Bridle, "Speech recognition using
zero crossing measurements and sequence infor-
mation," Proceedings of the IEEE, volume 116,
pages 617-623, 1969.
Listing 5: A normalizing
routine. This auxiliary rou-
tine is used to adjust the
statistical properties of
the templates. Specifically,
each template is modified
so that it has a zero mean
value and a normalized
standard deviation. This
is done to insure that all
of the word templates
have the same statisti-
cal properties prior to
correlation.
An Application for This
Speech Recognition System
An excellent application
for Dr Boddie's system would
be to use it as a quick way to
enter hexadecimal code with-
out toggling or typing. The
vocabulary required could be
kept to a minimum if the
operator pronounces each digit
separately (ie: "seven, seven,"
not "seventy seven") so that
the various compound forms
do not have to be learned. The
computer would then verify
the verbal entry by outputting
the code to a printer or dis-
play screen. Better yet, use
this system in conjunction with
a computerized speech syn-
thesizer such as D Lloyd
Rice's Computalker [BYTE,
August 1976, page 16} to
obtain a verbal interaction.
A more sophisticated system
could process verbal op code
mnemonics and assemble them
directly in hexadecimal code
on your display screen for
verification.
71
Cassette tape and other magnetic tape recording without bit errors requires
that we get our feet wet in the murky waters of error correcting codes . . .
How to Pick up a Dropped Bit
W Douglas Maurer
Rm 634, University Library Bldg
George Washington Univ
Washington DC 20052
The oxide coating of a
tape is sometimes uneven-
ly distributed, particularly
when the tape is old and
has been used many times.
The phenomenon of the dropped bit
causes difficulties in two distinct areas of
computer technology: in the recording of
data on tape (or disk, or the like), and in the
transmission of data from one place to
another. Suppose, for example, that we are
recording one hundred 32 bit words on a
tape. Out of the 3200 bits that are to be
written on the tape, there is a nonzero
chance that at least one of them will be
wrong. Either it will be recorded as a zero,
when it should have been a one (a dropped
bit) or it will be recorded as a one, when it
should have been a zero (an added bit). Even
if all 3200 bits are recorded correctly, there
is still a nonzero chance that the next time
we read this tape, we will read at least one of
the one bits from the tape as if it were a
zero, or one of the zero bits as if it were a
one. In such a case we again speak of
dropping a bit, or adding a bit. Often both
dropped and added bits are referred to,
generically, as dropped bits, and we shall
continue to do so in this paper.
In a similar way, suppose we are trans-
mitting a message which consists of bits.
(The message does not have to involve com-
puters at all; it may, for example, simply be
a message from one Teletype to another.) In
a long message there is, again, a very good
chance that at least one bit which is trans-
mitted will be received in the wrong way. It
might be received as a zero, when it is
supposed to be a one, or vice versa. Again we
speak of bits being dropped in transmission.
(One slightly confusing piece of terminology
here is that the entire collection of bits, out
of which a very few are dropped, is very
often referred to as a "message," even when
we are not transmitting it, but rather record-
ing it on tape or disk.)
There are many possible sources of
dropped bits. Tapes often have tiny dust
particles on them which interfere with the
reading and writing of data. The oxide
coating of a tape is sometimes unevenly
distributed, particularly when the tape is old
and has been used many times. The same
considerations, of course, apply to floppy
disk memory, or any other kind of memory
involving an oxide coating. In transmitting
messages from one place to another, noise in
the channel and receiver can very easily
degrade the quality of the reception.
In order to solve the problems created by
dropped bits, we can proceed in two general
classes of ways. The first is to improve our
hardware in such a way that dropped bits do
not occur: We can clean our tapes. We can
throw away our old tapes. We can transmit
messages at a slow rate, and so on. The other
approach is what may be called "picking up"
the dropped bits. The idea is to send a
message that is longer than the original one,
and that is so designed that, even if certain
bits are dropped, the original message can be
recovered. (As we mentioned above, the
word "message" is being used here in a
general sense; it may, in particular, be a
record written on tape or disk.)
Picking up a dropped bit is referred to,
more precisely, as "error correction," a term
which must be carefully distinguished from
"error detection." In error detection, we
simply detect the fact that some bit has been
dropped; we cannot tell which bit is the
72
<r Har
ity
bn
:s (c
:oli
imr
1)
\
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o •
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o •
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o •
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o *
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o •
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o •
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o •
•°
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o •
^- Message 1
sits
Parity
bits (row)
J
wrong one. If we could tell that, then we
could correct the error, because if a bit is
"one," and it is wrong, then it must really be
"zero," and vice versa. Knowing which bit is
wrong is what enables us to do error
correction.
Both error detection and error correction
are affected by the question of how many
bits in a message are wrong. If we can
tell which bit is wrong, assuming that there
is only one wrong bit, then we have single
error correction — even though we might
not be able to correct more than one error
in a message (or we might correct these
errors in the wrong way). In the same way,
if we can tell, for example, that something
is wrong whenever one or two (but no more
than two) bits in a message are wrong, then
we have double error detection, even though
there might be some patterns of more than
two wrong bits which are such that we can-
not tell that anything is wrong.
A simple way to perform error detection
is by means of what is commonly called
parity checking. In large systems, 8 bit bytes
recorded on an IBM standard tape are always
accompanied by a ninth bit, the parity bit.
This bit is so chosen that the total number
of one bits among the nine bits (the original
eight, plus the parity bit) is an odd number
(1, 3, 5, 7 or 9). (Sometimes it is done the
other way around, that is, to give even
parity instead of odd parity; but we shall
ignore this alternative for the moment.) Now
let us suppose that no more than one of
these nine bits has been dropped. When the
bits are read again, if the total number of
one bits is an even number, we know that
there has been a dropped bit. We do not
know, however, which of the eight bits was
dropped. (Actually, for all we know, it
might be the ninth bit - the parity bit itself
— that was dropped.)
Parity checking is extended, on IBM
standard tapes, to provide for the possibility
of error correction as well as error detection.
This is done by performing "two-
dimensional" parity checking, as shown in
figure 1. Each column has a parity bit, and
each row also has a parity bit. Now suppose
that exactly one of the bits in the message of
figure 1 was dropped. If that bit was in (say)
the fifteenth column and the second row,
then the parity in the fifteenth column will
be wrong — there will be an even number of
one bits in it, rather than an odd number —
and the parity in the second row will also be
wrong. If these two parities are wrong, it is
then a simple matter to find the bit in the
fifteenth column and the second row and
change it (from a zero to a one or from a
one to a zero).
The assumption that is made in this
parity scheme is that dropped bits will be
infrequent enough that, in a message (or a
record on tape) of this size, only one bit, at
the most, will be dropped. For this reason
the two-dimensional parity checking scheme
of figure I is said to provide single error
correction, but not double error correction.
Suppose that the bit in the seventeenth
column and the first row is also dropped.
This means that the fifteenth column, the
seventeenth column, the first row and the
second row will all have wrong parity. In this
case, which two bits are wrong? Let us
denote by (x, y) the bit in column number x
and row number y. In this case, it is bits (1 5,
2) and (17, 1) that were dropped. But it
could just as easily have been bits (15, 1)
and (17, 2), and exactly the same erroneous
behavior would have occurred. In other
words, we can't tell, when there is a double
error, where the double error is if this
scheme is used, and thus, we have no way of
correcting it.
The two-dimensional parity checking
scheme does, however, provide double error
detection. Whenever there is a double error,
that is, whenever exactly two bits in the
message are dropped, we can detect this fact.
This is true even when both errors are in the
same column. Of course, in that case, there
will be no way to tell what column the
errors are in. All of the column parities will
be right, because an odd number of bits with
two changes in it remains an odd number of
bits. The only way we can tell that some-
Figure 1: A block of data,
eight bits plus parity in
height, 32 bits plus parity
in width, used as an ex-
ample in the text. This
layout of bytes might be
thought of as a block of
data on a standard 9 track
tape drive; or it might be
an internal memory image
of data sent and received
through a serial data port,
bit by bit, as in the per-
sonal computer's audio
tape interfaces.
Both error detection and
error correction are
affected by the question
of how many bits in a
message are wrong.
73
Standard parity checking
schemes of this kind can
be improved upon in two
ways: The first is by in-
creasing their efficiency;
the second is by increas-
ing the number of errors
that can be corrected.
Suppose that there are
no errors at all in a given
256 bits.
thing is wrong, in this case, is that exactly
two of the row parities are wrong. The same
thing is true in reverse, if the two dropped
bits are in the same row, but not in the same
column.
In fact, this scheme will not only detect
all double errors, it will detect almost all
multiple bit errors. If there are more than
two dropped bits, as long as these are
randomly distributed (and not caused by a
scratch on a tape, for example), then the
probability is overwhelming that all of them,
or at least most of them, will be in different
columns, and thus there will be quite a num-
ber of column parities that will be wrong. We
cannot refer to the given scheme as a
multiple error detection scheme, in general,
because there are some cases in which errors
go completely undetected. For example,
consider the four bits we treated earlier,
namely bits (15,2), (17, I), (15, 1),and (17,
2). Suppose that these four bits are all
dropped, and that no other bits are dropped.
Now we have an undetectable error: All our
parities, including those in the fifteenth and
seventeenth columns and in the first and
second rows, will be right. But this is so
infrequent an occurrence that it may, for all
practical purposes, be ignored.
Standard parity checking schemes of this
kind can be improved upon in two ways:
The first is by increasing their efficiency; the
second is by increasing the number of errors
that can be corrected. We shall treat these
points one at a time.
Suppose that the record in figure 1
contained eight rows and 32 columns, for a
total of 256 bits. If we include the check
bits there are nine rows and 33 columns.
This means that there are 9+33 = 42 dif-
ferent check bits. (The row of check bits has
to have a check bit of its own, of course, and
so does the column of check bits. Sometimes
these are the same, but even if they are,
there are still 41 check bits.) In contrast, we
will now exhibit a clever scheme that re-
quires only eight check bits. It performs
single error correction, just as does the
scheme of figure 1. It has, however, certain
disadvantages which we will discuss later.
The scheme is as follows. We number the
bits in our message from 0 to 255. The last
of the eight check bits will be a parity bit for
half of the bits in the message, namely the
bits numbered 1, 3, 5 and so on up to 255.
Note that these are the bits such that the bit
number (1, 3, 5 and so on), when it is itself
expressed in binary, as an 8 bit quantity, has
a one bit in the last position (indicating that
it is an odd number).
The next to last of the eight check bits
will again be a parity bit for half the bits in
the message. This time, however, it will be
for the bits numbered 2, 3, 6, 7, 10, 11 and
so on, up to 254 and 255. These bit numbers
are all such that, if they are themselves
expressed in binary, as 8 bit quantities, then
the next to last bit of each of these 8 bit
quantities will be a one bit.
The general scheme should now be
apparent. Each of the eight check bits is a
parity bit for half the bits in the original
message. For 1 < k < 8, the k-th check bit is
a parity bit for all the bits that have the
following property: If the bit number is N,
and if N is expressed as an 8 bit binary
quantity, then the k-th bit of this quantity is
a one bit. In particular, the first of the eight
check bits is a parity bit for bits 128, 129,
130 and so on, up to 255, of the original
message.
Suppose now that one of our bits is
dropped. For definiteness, let us suppose
that it is the 99th bit. We express the
number 99 as an 8 bit binary quantity:
01 1 0001 1 . And now let us look at our eight
check bits. Which ones of them are going to
be wrong? The last one will be wrong,
because 99 is an odd number, and therefore
the 99th bit (which was dropped) is one of
the 128 bits (half of the original 256) of
which the parity was taken to form this last
check bit. The next to last check bit will also
be wrong, because 99 has the property that
the second bit from the right in its binary
representation is a one bit. The first check
bit, though, will still be right, because this
represents parity on the 128th, 129th,
130th, etc, bits, and none of these bits were
dropped.
The general pattern should now be
apparent. If we look at the eight check bits
from left to right, and if we write a zero for
each parity check that was right, and a one
for each parity check that was wrong, we
obtain the pattern 01 1 0001 1 . This is exactly
the number 99 expressed in binary. And this
means that we can tell that it was, in fact,
the 99th bit that was dropped — which, in
turn, means that we can correct the error.
Thus we have a single error correction
scheme, just as before, enabling us to pick
up one dropped bit.
There are three problems with this
scheme. The first is as follows. Suppose that
there are no errors at all in a given 256 bits.
Then, of course, all the check bits will be
right, and we will obtain the pattern
00000000. But this pattern tells us that bit
number 0 is wrong! In fact, none of our
check bits involve parity on bit number 0 at
all, and thus we have no way of telling
whether this bit was dropped or not. This
problem, however, can be solved rather
simply. We transmit only 255 bits of data,
instead of 256, and these are numbered from
74
I to 255. The efficiency of the scheme is not
too badly affected; we now have eight check
bits for every 255 data bits, rather than eight
for every 256.
The second problem with the scheme is
that we have not considered the possibility
that one of the check bits might be wrong.
Suppose that the last check bit is wrong, and
that all the other bits are right. Then using
the scheme above, we would obtain the 8 bit
pattern 00000001, and this would tell us
that it was bit number 1 of the original 256
that was wrong. In general, an error in any
of the bits numbered 1 , 2, 4, 8, 1 6, 32, 64 or
128 can be confused with an error in one of
the check bits. The solution, however, is
again very simple: We just leave these bits
out. We are now transmitting only 255-8 =
247 bits of data, with eight check bits, and
again the efficiency is not too badly af-
fected. If the 8 bit pattern we obtain
contains seven 0 bits, and only one 1 bit,
then we know that it is a check bit that is
wrong.
The third problem, however, is more
serious. Suppose that more than one bit out
of the 256 was dropped. Note that in our
scheme, if there is an error of any kind, we
determine one particular bit position to
change. In other words, we always assume
that if there is an error, it is a single error. If
there is a multiple error we are always going
to do the wrong thing. This is in contrast
with the two-dimensional parity checking
scheme, in which we almost always know
that something is wrong, no matter how
many bits get dropped. The only solution to
this problem is a partial one: We can forget
about correcting errors and use this scheme
to detect errors only; and if we do this, all
double errors will be detected. In other
words, this scheme can be used for single
error correction or double error detection,
but not both.
A remarkable property of our scheme is
that the eight check bits can all be generated
simultaneously. We take the exclusive OR of
all the binary integers 00000001 thru
11111111 (or 1 thru 255 in decimal) -
leaving out 1, 2, 4,8, 16,32, 64 and 128, as
noted above — which correspond to one bits
in the message. That is, if the i-th bit in the
message is a one bit, then the integer i,
written in binary, is exclusive ORed with all
other integers i with the same property. The
resulting 8 bit quantity consists of pre-
cisely the eight check bits we need. For 1
< k < 8, the k-th bit of this quantity is the
exclusive OR of as many one bits as there
are positions i in the message, such that bit i
is a one bit and the k-th bit of the integer i is
also a one bit, together with a number of
zero bits, which do not affect the exclusive
OR. An algorithm for performing this proc-
ess is as follows:
1 . Initialize so as to point to the first bit
of the message.
2. Set R1 = 3. (R1 will contain the index
i as above.)
3. Set R2 = 0. (R2 will contain the eight
check bits.)
4. Set R3 = 4. (R3 will be 4, 8, 16, 32,
etc, as above.)
5. If the current bit in the message is a
zero bit, skip the next step (that is,
go to step 7).
6. Set R2 equal to the exclusive OR of
R2and R1.
7. Point to the next bit of the message.
8. Set Rl = R1 + 1.
9. If R1 =£ R3 then go to step 5.
10. Set R3= R3+ R3.
11. If R3^512 then go to step 7.
At this point, if we are writing a message,
we append the eight check bits in R2 on to
the end of the message. If we are reading a
message, we. read the next eight bits and
form the exclusive OR of these bits with R2.
If the result is zero, the message is without
error. If it is 1, 2, 4, 8, 16, 32, 64 or 128,
then one of the check bits is wrong. If it is
anything else — call it i — then the i-th bit is
wrong, and must be changed (to a zero if it
is a one, or vice versa).
It should also be clear that there is a
scheme like this for any number m of check
bits. We have here taken m = 8, and the
number of data bits is 2m-m-1 = 256-8-
I = 247; but we could have taken m = 4, for
example, obtaining four check bits for each
II bits of data. This provides another
approach to the problem of multiple errors
in 256 bits; we can require only that there
be no multiple errors in 11 bits (say), at the
cost of a certain loss of efficiency.
Is it possible to pick up more than one
dropped bit at a time? That is, can we devise
a scheme that is capable of double error
correction? Yes, we can; we can even provide
n-tuple error correction, for any (fixed)
positive integer n. Schemes for doing this,
however, are quite complex, and their com-
plexity increases with the number of errors
to be corrected. There is a whole subfield of
electrical engineering called the theory of
error correcting codes, which concerns itself
with schemes of this kind. It is remarkable
that error correcting codes involve one of
the few known practical applications of the
theory of Galois fields. (Every mathematician
knows the tragic story of Galois, a French
math student back in the Age of Dueling
who got involved in a challenge to a duel,
and, knowing his opponent was a far better
duelist than he, spent his last night on earth
Suppose that more than
one bit out of the 256 was
dropped.
Is it possible to pick up
more than one dropped bit
at a time?
75
A fundamental concept in
all error correcting code is
"Hamming distance."
feverishly writing down all the mathematics
he could. He died at 21 , a monument to the
stupidity of taking politics too seriously.)
A fundamental concept in all error cor-
recting codes is "Hamming distance."
Consider two code words C-j and C2; each
code word consists of a message (data bits)
together with the check bits for that mes-
sage. Take the exclusive OR of C] and C2;
the number of one bits in the result is called
the Hamming distance between Ct and C2.
If the Hamming distance is I, this means
that C^ and C2 are the same, except for one
bit position at which they are different. This
in turn means that if it was that particular
bit which was dropped, then C-| will get
mistaken for C2, or vice versa.
On the other hand, suppose that a par-
ticular code has the property that for every
pair of code words C\ and C2, the Hamming
distance is 3 or more. Now suppose that Ci
is a code word and C2 is not. Suppose that
when a message is transmitted, then, due to
some bit being dropped, it is C2 that is
received when it should have been C^. That
is, the distance between Ci and C2 is 1
(since only one bit was dropped). In this
case the error can always be corrected. That
is, of all possible code words, we can always
tell that C^ is the one we wanted. To prove
this, suppose that there were another code
word, C3, that is actually the one we
wanted. Then the distance between C3 and
C2 would be I (since we are assuming that
only one bit is dropped), and we already
know that the distance between Ci and C2
is 1. But in this case the distance between
the two code words Ci and C3 cannot be
greater than 2, and this contradicts our
assumption that two code words must have a
distance between them of 3 or more.
In general, if the minimum Hamming
distance between any two code words is 3,
the code is a single error correcting code
(although the actual correcting of the errors
might, in some cases, be an elaborate and
inefficient process). We can extend this
immediately and say that, if the minimum
distance is d = 2e+1, the code is an e-tuple
error correcting code (usually referred to
as an e-error correcting code), for any
integer e. This code will not detect any more
than e errors, unless we sacrifice some error
correction capability. If x and y arc integers
with x > y and x+y+1 = d, then we can use a
code with minimum distance d, as above, to
correct any y errors and simultaneously
detect any x errors. As a special case of this,
if y = 0, we can detect any d-1 errors with-
out any error correction capability at all."
IN WIRE- WRAPPING (og) HAS THE LINE. .
HOBBY-WRAP-30 wire-wrapping, stripping, unwrapping tool for awg 30 (.025 square post)
STRIP
WRAP
UNWRAP
OK MACHINE & TOOL CORPORATION
3465 CONNER STREET. BRONX, NEW YORK. NY. 10478 U.S.A. ■ PHONE (212) 8844600
TELEX: 125091 TELEX: 232395
Circle 20 on inquiry card.
76
Memories
are made of this.
' /E g~} c jc
44«\-UY«\»\^
"*w
■ ill'.^Kltf
IlffllffllllllllllllllllllllMtllltl
BHHH
32K. One Card. One low price.
Only from the Digital Group.
Now, on only one fully static card, the Digital Group has
squeezed in a whopping 32K of memory. Which, with a little
quick addition, means a full 64K architecture now requires
only 2 boards instead of 8. That's a 4-to-l space reduction
...and leaves one extra memory slot on the Digital Group's
standard motherboard still available for future products.
All this and one low price, too.
It just may be the best news of all. Our full static, assembled
and tested 32K memory board is only $995. Now that's worth
remembering. It's substantially less than our equivalent as-
sembled 8K board prices. (Please note: We're initially offer-
ing this 32K board assembled only, but kit versions will soon
be available, too — at even lower prices.)
Here's what you get.
Specifications:
• 32K on single card
• Speed — 450ns. All of our current CPUs will operate at
full-rated speed.
• Decoding — Lower or upper 32K bank
• Power — +5V only (a 4A
• Card size — 12" x 5" (excluding connector fingers)
Features:
• May be intermixed on Digital Group systems with our
8K memory cards
Circle 21
All data and address lines are buffered
Fully static memories — EMM 4801 (450ns) or equiva-
lent
Price:
32K board complete, assembled and tested
$995.00
For all the memorable details, just fill out the coupon below.
(Then all you have to remember is to mail it in.)
mailing
ffe(%[MI
DGWg) )
P.O. Box 6528
Denver, Colorado 80206
□ I promise to mail this in
Name
(303) 777-7133
so add me to your
list!
Addrpss
CitylStatp/Zip
□ Remember me? I'm already on your mailing list, but I need the
memory spec sheet desperately,
on inquiry card.
Figure 1 : Conceptually, it's easy to expand
the effective memory space of a processor
by adding a latched output port which pro-
vides extra high order bits of addressing. The
result is a "paged" memory technique which
can address a much larger memory address
space. In this example, four bits added to
16 bits yields 20 address bits, giving a micro-
processor an effective addressing range of
1048576 locations. However, there are dis-
advantages of such a technique in this simple
conception: Each 64 K region is completely
isolated from its neighbors, since the 10 port
technique requires software switching
between regions, which cannot in general be
accomplished within one or a small number
of instructions.
Give Your Micro a Megabyte
What is it that makes a microcomputer
"micro?" There are many factors involved,
but one of the most crucial is the small
memory available in most hobby computers.
I had scarcely gotten my Altaic up and
running with 8 K of memory before I wanted
to write programs that exceeded its storage
capabilities. Paging programs in and out
from dual cassettes became a major nuisance,
so I gathered my pennies and bought an-
other 4 K memory board. In less than a
month I needed even more storage. It is a
fact of programming life that one must
trade storage space for execution speed in
programs. 1 tried to write a program in
BASIC to play Mastermind on my Altair.
Mastermind has 1296 possible moves, each
move composed of four numbers. Storing
this optimally would require about 5 K
bytes; the BASIC code took nearly 6 K
bytes, leaving me almost no space for my
program. I tried to write the program to
regenerate the moves each turn. This saved
the space, but it took over ten minutes of
computation to respond. Few human play-
ers can put up with such a wait. Don't
think that this lack of memory afflicts
only small machines. I work on several
large computers, each of which has over
100 K bytes of storage. Programs have been
written on each system which strain the
memory limits. The unwritten law has it
that "programs expand to fill all available
space." We programming experimenters
don't have much control over the structure
of our processor architectures, but we do
build up our own memory systems. In all
systems that I have worked on, the memory
was the single most expensive component.
Peripherals rank second in most systems.
This is the area in which we can upgrade
our machines most readily from the "micro"
class. This article will describe, in a general
way, two methods for expanding the storage
capability of a computer. These methods are
widely used in big machines, but are rarely
built into small machines. This need not be
the case.
Present day 8 bit microprocessors typically
have 1 6 bit address buses. This implies that a
maximum of 64 K bytes can be directly ad-
dressed. Many minicomputers also have
16 bit buses, but often address up to a
megabyte. How do they accomplish this
apparent bit of magic? Obviously, they must
come up with some more address bits some-
where. Minicomputers do it by using special
registers called mapping registers. These
registers contain the extra address bits. If the
mapping register contents are fixed, then
only 64 K can be addressed. But by dynamic-
ally changing the bits of (for example) a
78
L_.
LATCHED
4 BIT OUTPUT PORT
PROCESSOR
1
4
1
16
t
ADDRESS BUFFERS
DATA
BUS
BUFFER
20 BIT EFFECTIVE
SYSTEM ADDRESS
BUS
8 BIT
SYSTEM
DATA BUS
Robert D Grappel
148 Wood St
Lexington MA 02173
4 bit mapping register, the processor can
effectively address an entire megabyte. In
minicomputers, the mapping function is
usually performed automatically, when
needed, by operating system software. Each
task loaded in the system has access to 64 K,
as determined by its mapping register.
Homebrewed microprocessors can do this,
too, as well as commercial systems with
appropriate modifications. We need to add
a register for mapping. We can't add the
needed bits to the processor itself, but we
can use peripheral registers as we like. Just
treat the mapping register as an output
device. Figure 1 shows how an 8 bit micro-
processor with 16 address bits can generate
an effective 20 bit address space using a
4 bit output port as a mapping register. A
multitasking operating system could be
written to switch up to 16 tasks, each of
which has access to 64 K. With such systems,
64 K segments of data could be kept in
partitions (64 K space defined by the map
register), separate from the programs in
which they are used. The opportunities for
innovative system design are vast. As men-
tioned, the more memory a system has, the
more complex its programs become.
"Wait a minute!", you are asking. "We
were talking about microcomputers with
typically 4 to 16 K. What good is extending
the address space without the memory? Who
could afford to build amegabyteof storage?"
Good questions. The answer is the second
trick used by big systems ... it is called
"virtual memory." This is quite a sleight of
hand technique. Basically, it amounts to
this: If you can't have memory at the ad-
dress, move the address to the memory you
have. Nobody expects a system to actually
have a megabyte of on line storage. That is
too expensive for all but the biggest ma-
chines. Disk (or tape) is also a storage
medium. It is slower, but a heck of a lot
cheaper for large volumes of data. Suppose
that some external storage device holds a
lot of data blocked into 4 K chunks. When-
ever the processor asks for data, the chunk
that contains that data is read into a 4 K
memory from which the processor gets it.
This is the essence of virtual memory: a
small but fast memory which is being filled
by a large but slow external store. To the
program it appears that its entire address
space is filled with active memory; it just
has to wait sometimes. Since most programs
move more or less sequentially through
memory, many memory accesses are often
made to the same chunk of memory. These
accesses arc as fast as the real memory can
be. The system can have several chunks
active at the same time. This, again, is the
79
+ 5V
FROM
PAGE
SELECT
REGISTER
LSB
o
o
O
MSB
PS3
■ IK
■ INSERT ADDITIONAL 7485 IF NEEDED
FOR LOW ORDER COMPARISONS
ILT IEO IGT
INPUTS
7485
AO BO
Al
A2
Bl
B2
A3 B3
COMPARATOR
OUTPUTS
OLT 0E0 OGT
+ 5V POWER PIN 16
GND PIN 8
LSB
MSB
FROM
) ADDRESS
BUS
1= ADDRESS IN SELECTED PAGE
-o
O-ADDRESS NOT IN SELECTED PAGE
(START PAGE FAULT RECOVERY)
trade-off of memory space for execution
speed.
The rest of this article outlines a virtual
memory system for a typical microprocessor.
It will work with most popular processors.
The one requirement is a READY or WAIT
capability that will halt the processor at any
point in an instruction upon an external
signal. This is absolutely necessary to halt
the processor until the desired chunk (or
more properly "page") of memory has been
loaded. The 8080, 6502, Z-80, TMS9900
and other processors have this feature. The
6800, unfortunately, does not.
We will assume a page size of 4 K bytes.
This means that the low order 1 2 bits of the
address bus wiil address the memory page.
We will assume a single 4 K page of real
memory for simplicity. Two processors need
access to this memory. The main processor
uses it, but there must also be another
processor which can access the memory page
to move the data into and out of it. Thus,
both the address and data buses must have
switches to permit either processor access to
the memory. Now, we need to know if a
given address lies in the current memory
page. The paging processor uses an output
port as a page address register. This register
is compared with the upper bits of the ad-
dress from the main processor. A circuit for
such a page select logic is shown in figure 2.
It compares the upper four bits of the
address bus against the contents of a 4 bit
page register. It uses 7485 4 bit magnitude
comparators to test whether the address is in
Figure 2: If a virtual memory system is
implemented, there is a definite need to find
out whether or not a referenced address is
currently in the swapping region of memory.
This can easily be accomplished by using
one or more comparator chips. If the page
select register is equal to the current page
address reference to the swapping region,
then access is normal. But if a page fault
occurs (a reference to a page not presently
in memory), then the paging processor is
invoked while the main processor is at
rest waiting for data. The 2 microprocessor
strategy discussed here is but one of a
number of strategies possible for implement-
ing virtual memories.
the page identified by the page register
contents. The output goes high when the
address falls outside the page. (The 7485 is
cascadable, so this circuit could be extended
with extra bits to generate a virtual memory
space of a full megabyte. This would require
a megabyte of peripheral storage, or about
four floppy disks.)
Processors are cheap these days. One may
as well use a micro to control the external
storage. It will be idle most of the time,
when the main processor is happy with the
present memory page. When the page select
logic indicates that a change of page is neces-
sary, the paging processor goes into action.
The main processor is made to wait. The
memory buses are switched to the control
of the paging processor. The paging proces-
sor reads the upper four (or more) bits of the
main processor address. If the present page
of memory has been written into, then the
new contents of the page must be restored
onto the external store. The new page must
be read in from external storage and placed
into the memory page. The page written
latch is reset, since we will want to know if
the main processor changes the contents of
the page. Finally, the page address register
is updated. This releases the main processor
to continue processing as though nothing
had happened. It never noticed that the
paging processor took over. The mechanism
of storage used by the paging processor is
a detail of the design of the virtual memory
system. It could use hard disks, floppy disks,
3M drives, digital or even audio cassettes.
(A very ingenious commercial unit using
a microprocessor and interpreter for the
APL language runs such a virtual memory
system on cassettes. Watching this little
beast run its cassettes around while running
a program is quite impressive. It features a
256 K byte effective address space . . . limited
by the storage on a cassette. [See the MCM/
80
SYSTEM
INITIALIZATION
PAGE FAULT
INTERRUPT
INITIALIZE
PERIPHERALS
SET MEMORY PAGE
ENABLE INTERRUPTS
WAIT FOR INTERRUPT
ENDLESS LOOP
IN MAIN PROCESS
RESTORE PAGE
TO MASS
STORAGE
READ
NEW PAGE
FROM MASS
STORAGE
CLEAR WRITE
LATCH
IF WRITE LATCH = 0 THEN PAGE HAS
NOT BEEN CHANGED SINCE IT WAS
LAST READ
WRITE LATCH = 0 (NO NEED TO COPY
DATA BACK IF IT HAS NOT BEEN
CHANGED)
NOTE:
"WRITE LATCH" IS A HARDWARE
FLIP FLOP TESTABLE BY SOFTWARE,
CLEARED BY SOFTWARE, AND SET
BY HARDWARE WHENEVER DATA IS
STORED (WRITTEN TO) THE PAGING
REGION OF MEMORY.
Figure 3: What to do when
a page fault occurs. This is
a simplified flow diagram
of a virtual memory sys-
tem control process, in-
cluding initialization and
response to a page fault
interrupt. It is assumed to
be running in a micro-
processor dedicated to
memory management.
RETURN FROM
INTERRUPT
800 sold by Microcomputer Machines Inc,
2125 Center Av, Fort Lee NJ 07024.)
A simple flowchart of such a paging proces-
sor program is shown in figure 3. The main
program is simply initialization followed by
a wait loop. The reset function of the main
processor also starts the paging processor.
There is a small difficulty here: The memory
page must be initialized by the paging pro-
cessor before the main processor can use it.
Some means must be found to keep the
main processor busy while the memory page
is being initialized. A oneshot triggered by
the reset line (or by the paging processor),
which holds the main processor in the wait
state for sufficient time for the memory to
be set up, will work. An output bit from the
paging processor can also be used. The initial
page would probably be the operating sys-
tem. This brings up another interesting point.
Since the entire content of memory is
stored on an external, and nonvolatile
medium, one can think of the entire memory
space as a bit like ROM. A page can be
write protected by not letting the paging
processor restore that page from real
memory. Such memory protection can be
implemented by a ROM which is addressed
by the page address lines from the main pro-
cessor and which resets the page written
latch. Thus, the page processor doesn't think
that the page has been changed, and doesn't
write on the external copy. Software in the
page processor can implement program con-
trol of "write protection."
Another point is that if the main pro-
cessor has ROM in its address space, one
doesn't want the paging processor to waste
time trying to page into that address area.
A similar use of a ROM in the paging proc-
essor can inhibit paging of certain pages
in which the main processor ROM is
located.
With a virtual memory system, and
perhaps memory mapping, there is often
no need to do IO with large data blocks.
Everything is, effectively, in memory ad-
dress space and 10 is often hidden by the
paging process. This can greatly simplify
programs that use lots of data.
Virtual memory systems are not espe-
cially cheap. Using a floppy disk, a system
such as I describe here would probably
cost around $2000 to build. A single floppy
stores about 256 K bytes; so with mapping,
this system would allow a quarter megabyte
address space. Think of wiring together
two thousand 2102s! Think of the power
supply that would require! Besides, 2102
chips cost much more than a dollar each.
The virtual memory space could be doubled
by adding another floppy drive. It should
take quite a while for you to exceed these
storage limits. When you do, the system
readily expands. You're not likely to byte
off more than your micro can chew."
81
An Introduction
to Numbers
Webb Simmons
1559 AlcalaPI
San Diego CA 92111
The concept of fixed point numbers,
scaled numbers and floating point numbers
originated in the scientific computer en-
vironment at a time when a computer was
generally considered to be either a scientific
computer or a business computer rather than
the general purpose computer of today.
Business computers used fixed point num-
bers but designers felt no need to describe
them as such because that was the only kind
of number used. Some business computers
used decimal arithmetic rather than binary
arithmetic and allowed a variable amount of
decimal digits for various variables and
values of programs. Some business com-
puters referred to their decimal digits as
characters and regarded every character
whether or not it was a decimal digit as
having a decimal digit value. But here we're
concerned with the wider concepts of num-
ber representation in a general purpose
computer.
In the general purpose machine we regard
all numerical values to be binary numbers in
some sense. The point in fixed point and
floating point is not a decimal point but is a
binary point. A binary point in a binary
number plays the same role as the decimal
point in a decimal number. The binary
number 101 (meaning 101 J has the decimal
value of 5. The binary number 10J has the
decimal value of 2.5. The binary digit to the
left of the binary point has the place value,
positional value, of one; the binary digit
next further left has the place value of two,
then four, then eight, etc. The first binary
digit to the right of the binary point has the
place value of one half, then one fourth, one
eighth, etc. Binary 1010.1010 is decimal
10.625. Conversion is seen by adding the
digit's place values 10.625 = 8 + 2 + 0.5 +
0.125.
The binary value in a register or memory
location contains only binary digits as a
succession of binary zeroes and ones. It has
nothing in it that is explicitly a binary point.
It is the responsibility of the programmer to
decide the assumed position of the binary
point. If the binary point is assumed to be to
the right of the least significant binary
digit, the value is an ordinary integer. Such
a value is often called a "fixed point"
number as in FORTRAN or PL/I. The
binary point can be assumed to lie anywhere
within the word or anywhere outside of the
word. When the binary point is assumed to
be fixed at any place other than at the right
of the least significant bit (LSB) it is
commonly called a scaled value, or scaled
fixed point value. Any other fixed place-
ment is a scaled binary number.
Fixed Point
Valu
e ( I ntegt
»rj 8 B
its
7
6
5
4
3
2
1
0
1 ' 1
0
1 ' 1
0
I ° I
1 ]
o
' 1-
165 DECIMAL
128
64
32
16
8
4
2
•1
UNSIGNED
RANGE: 0 TO 255
ASSUMED
BINARY POINT
Scaled F
ixed Poi
it
7
6
5
A
3
2
1
0
1 - 1
o
1 ' 1
0
I ° I
i 1
0
1 1 1 -
20.625 DECIMAL
UNSIGNED
RANGE: 0.0TO31.875
16
8
4
2
'1
1/2
1/4
1/8
1
ASSUMED
BINARY
POINT
82
THE LOGICAL CHOICE-First in a series
Logic Probe 1 is a compact, enor-
mously versatile design, test and trouble-
shooting tool for all types of digital
applications. By simply connecting the
clip leads to the circuit's power supply,
setting a switch to the proper logic family
and touching the probe tip to the node
under test, you get an instant picture of
circuit conditions.
LP-1's unique circuitry— which
combines the functions of level detector,
pulse detector, pulse stretcher and
memory— makes one-shot, low-rep-rate,
narrow pulses— nearly impossible to see,
even with a fast scope— easily detectable
and visible. HI LED indicates logic "1",
LO LED, logic "0", and all pulse transi-
tions—positive and negative as narrow
as 50 nanoseconds— are stretched to Vb
second and displayed on the PULSE LED.
By setting the PULSE/MEMORY switch
to MEMORY, single-shot events as well
as low- rep-rate events can be stored
indefinitely.
While high-frequency (5-10MHz)
signals cause the "pulse" LED to blink at
a 3Hz rate, there is an additional indica-
tion with unsymmetrical pulses: with duty
cycles of less than 30%, the LO LED will
light, while duty cycles over 70% will
light the HI LED.
In all modes, high input impedance
(100K) virtually eliminates loading prob-
lems, and impedance is constant for all
states. LP-1 also features over-voltage
and reverse-polarity protection. Housed
in a rugged, high-impact plastic case
with strain-relieved power cables, it's
built to provide reliable day-in, day-out
service for years to come.
PULSE LED
OFF
LO LED ON I HI LED ON
HI LED ON
nnM fr°
4 4 4 4 4
LO LED ON
DURING PULSE tnANf.iTIONS PULSE t€D B
I LEO ON.LO LED DOES NOT RESPOND TO NARROW PULSES
Dunn pulsf i
n n n
LO LED ON . HI LED DOES NOT RESPOND TO NARROW PULSES
CSC'S MULTI-FAMILY LOGIC PROBE 1.
AT $44.95, IT DIGS UP A LOT OF INFORMATION WITHOUT
BURYING YOUR BUDGET.
HI/LO LED's— Display leve
(Hl-logic "1", LO-logic "0"'
of signal activity at node
under test
PULSE LED— Lets you know
what's going on— and off.
Indicates positive and nega-
tive pulse and level transi-
tions. LP-1 stretches pulses
as narrow as 50 nano-
seconds to full Vb sec.
(3Hz pulse rate)
PULSE/MEMORY Switch-
PULSE position detects
and stretches pulses as nar-
row as 50 nanoseconds to
1/3 sec. Switch to MEMORY
and it stores single shot and
low-rep-rate events indefi-
nitely; HI/LO LED's remain
active
Non-corrosive nickel-
plated probe tip and clip
leads— For reliable contacts
and maximum life
Protected— Features built-in
reverse polarity and over-
voltage protection; strain-
relieved power cable
Logic Family Switch—
TTL/DTL or CMOS matches
Logic "1" and "0" levels.
, for greater versatility. High
Input Impedance— 100K
virtually eliminates circuit
loading problems and is
constant in both "0" and
"1" states. CMOS position
also compatible with HTL,
HiNILand MOS logic
EASY DOES IT
44 Kendall St . Box 1942 New Haven. CT 06509
TWX: 710-465-1227
West Coast office: Box 7809. San Francisco. CA 94119
TWX 910-372-7992
See your CSC dealer or call 203-624-3103 (East Coast) or 415-421-8872 (West Coast)
9 AM to 5 PM local time. Major credit cards accepted. Add $2.50 for shipping and
handling in the U.S. and Canada on direct orders of 550.00 or less; $3.00 for orders
over $50.00. On all foreign orders add 15% to cover shipping and handling.
Circle 22 on inquiry card.
The values which can be represented as an
integer in one 8 bit byte arc from zero to
255 when all values are considered to be
unsigned, and therefore positive. In signed
two's complement notation the fixed point
values in one byte are the integers from
-128 to +127. In either case there arc 256
different values possible, of which all are
integers with no fractions permitted.
Scaled fixed point binary is not often
used except as a part of a floating point
word. When scaled numbers were widely
used in earlier computers, the binary point
was frequently placed, or assumed to be
placed, in the center of a long computer
word of 36 bits, 48 bits or 60 bits in length.
Another common placement used was at the
left of the most significant bit (MSB) but to
the right of the sign bit of a two's comple-
ment number. In scaled values of this type
the values are always less than one and
greater than minus one. Many modern large
computers have instructions to facilitate
operations on these fractional scaled values.
Signed Scaled Fixed Point Values
ASSUMED
BINARY
POINT
Scaled fixed point values will not figure
strongly in our futures, except in those rare
cases where speed or other application
dependent criteria require optimization.
For signed and scaled fractional two's
complement numbers, the largest binary
value is 0 .1 11 1 1 II and the smallest binary
value would be I .0000000 where the digit
to the left of the binary point is the sign bit;
however, if we are to limit the range to
fractional values, we must throw out the
1.0000000 state and treat 1.0000001 as the
most negative value. This leaves us with 255
states ranging from +(127/128) to
—(127/128) or performing the division,
+.9921875 to -.9921875.
Extending Precision
The fact that a particular computer uses
bytes for its memory storage and registers
does not mean that a datum must be one
byte. A unit of data can be any number of
bits regardless of the computer word length.
It can be 1 9 bits on a 1 3 bit word machine if
you program such a construction. This
would be unusual but it certainly is possible.
It is customary to define the numerical data
so that it will use 1 ,2,3 or some other whole
number of bytes or words. Dividing data on
memory address boundaries eases and simpli-
fies programming.
Scaled values were useful enough for
many purposes but their use was trouble-
some to the programmer. If a value got too
large, there was danger of overflow. If a
value got too small, there was a loss of
significance caused by too many leading
zeroes and the danger of the value becoming
zero. Special scaling factors had to be used
from time to time to keep the problem in
hand, and of course the effects of the scaling
factors had to be removed when the compu-
tations were completed. The invention of
floating point numbers cured most of the
scaling difficulties.
Enter Floating Points
A floating point number has two parts for
each value. One part is a fraction which is a
scaled fixed point number as described
above. The fractional part has many names.
It may be called the fraction, mantissa or
coefficient. The typical floating point num-
ber has a fraction whose absolute value is
always less than one. The minimum frac-
tional value is determined by the base of the
other part of the floating point number. This
other part of a floating point number has
been called the exponent, power or charac-
teristic depending on whose description you
read. It is the exponent or power to be
applied to some base (also called the radix)
that forms a scaling factor. The value of the
number is the fractional part multiplied by
the base raised to the power of the ex-
ponent's value.
For many years the base for the exponent
part of a floating point number was almost
invariably two. For a base radix of two a
nominal minimum absolute value for the
fractional part is one half. We set up our
hardware or software to force the most
significant bit of the mantissa to be one, in
order to "normalize" our numbers. Simi-
larly, for each possible base we constrain the
fractional value: For a base of four the
minimum fraction value is one fourth. For a
radix of eight the minimum fraction is one
eighth and for 16 it is one sixteenth. IBM
System 360/370 uses a radix of 16 for the
exponent base in floating point numbers and
so do various other computers and systems.
Whatever the radix for the exponent, when-
ever the fraction is greater than or equal to
the minimum value for that base, the float-
ing point number is said to be normalized.
(In order words, it is the "normal" or "best"
form.)
There is very little standardization among
floating point numbers. The radix for the
exponent's base may be two or it may be ten
84
FLIP OVER OUR FLOPPY
Only $750 from Peripheral Vision.
Peripheral Vision is a brand-new company that's dedi-
cated to selling reasonably priced peripherals for various
manufacturers' CPU's.
We think you'll flip over our first product.
It's a full-size floppy disk for the Altair-lmsai plug-in
compatible S-100 BUS. And it's available for as low as $750.
Here are the features:
• 1 interface card supports 4 drives
• Stores over 300,000 bytes per floppy
• Bootstrap EPROM included — no more toggling or
paper tape
• Completely S-100 plug-in compatible
• Interface cabling included
• Drive is from Innovex (the originator of the floppy
concept) — assembled and tested
• Interface card design is licensed from Dr. Kenneth
Welles and the Digital Group
• Disk operating system with file management system
included on floppy
• Cabinet and power supply optional
Now, a little more about our company.
Peripheral Vision may be brand-new, but we have some
old-fashioned ideas about how to run our business.
We know there are serious incompatibilities among the
different manufacturers' peripherals and CPU's. We want to
get them together. And, we want to bring significant new
products to market — products consisting of everything from
adaptation instructions/kits for hardware and software to
major new products.
It's a tall order, but we feel we're up to the task.
Peripheral Vision has already obtained a license from
The Digital Group to adapt versions of some of their prod-
ucts to the S-100 BUS. And we're working on getting more
from other companies.
Most important to our customers, Peripheral Vision is
committed to helping you get along with your computer.
We'll do all we can to make it easy.
Write us now for all the information on our company,
our philosophy and our exciting line of products. And be
prepared to flip over all of it.
Prices:
Interface card kit and
assembled and tested drive
Power supply — +24V at 2A
Cabinet — Optima, blue
Circle 23 on inquiry card.
Kit
S750
45
Assm.
$850
65
85
RO. Box 6267 Denver. Colorado 80206 (303) 733-1678
Send me the works, and I just might flip over it!
Name .
Address.
City/State/Zip.
Table 7 : This is a summary
of the nominal maximum
relative error that occurs
for different field widths.
The field widths are
measured in bits. The max-
imum error column is cal-
culated as being the maxi-
mum error or change in
value that occurs if the
least significant bit is lost
or changed. The decimal
digits column indicates the
number of decimal digits
which are unaffected by
relative error in the repre-
sentation.
or even 1 6. Within a floating point word the
bits for the exponent can be either before or
after the fraction. The number of bits for
the exponents vary widely in different sys-
tems as do those for the fractions. There are
various schemes for showing the signs for the
exponents and the signs for the fractions.
The dynamic range of values allowed for
a floating point number is determined pri-
marily by the radix for the exponent and the
number of bits in the exponent. The IBM
System 360 and 370 hardware uses an 8 bit
exponent of which one bit is used to take
care of the sign for the exponent (it is not
truly a sign bit but the overall effect is much
the same) and one bit handles the sign for
the fraction which leaves six bits to deter-
mine the value of the exponent. The largest
value in six bits is 63 which, when applied to
a base of 16, produces 16^3 or approxi-
mately 7X1075. The smallest positive ex-
ponent is equivalent to 1 6 64 or approxi-
mately 9X10~78 These exponents must be
multiplied by some fraction between 0.0625
and 1 to get the final value of a floating
point word. The exponent for a Univac 1 100
series computer is nine bits which loses two
bits for the signs. The remaining seven bits
would seem better than the remaining six for
the System 370 except that the radix of the
exponent is two. The largest exponent is
2127 or approximately 1.7X1038 and thus
much smaller than that for the IBM version.
The Univac double precision floating point
word allows numbers to 21024 or approxi-
Number of
Maximum
Decimal
3 its
Values
Error
Digits
2
4
.250
0
3
8
.125
0
4
16
.063
1
5
32
.031
1
6
64
.016
1
7
128
8E-3
2
8
256
4E-3
2
9
512
2E-3
2
10
1k
1E-3
3
11
2k
5E-4
3
12
4k
2£4
3
13
8k
1E-4
3
14
16k
6E-5
4
15
33k
3E-5
4
16
66k
2E-5
4
17
131k
1E-5
5
18
262k
4E-6
5
19
524 k
2E-6
5
20
1M
1E-6
6
21
2M
5E-7
6
22
4M
2E-7
6
23
8M
1E-7
6
24
17M
6E-8
7
25
34M
3E-8
7
26
67M
1E-8
7
27
134M
7E-9
8
28
268M
4E-9
8
29
537M
2E-9
8
30
1G
9E-10
9
31
2G
5E-10
9
32
4G
2E-10
9
mately 1.8X1 0^8 which is pretty
impressive.
The precision, or accuracy limit, of a
floating point number is determined by the
number of bits in the fraction part. Just in
case you're mistakenly tempted to regard
accuracy and precision as being the same, let
us learn to distinguish between them. Pre-
cision relates to the ability to differentiate
between value representations that are
nearly the same. In terms of decimal values
the precision can be to eight significant
digits but if the accuracy is less than the
precision then some or all of these eight
digits are nonsense. Accuracy cannot exceed
precision. Precision can be defined as the
maximum possible relative accuracy. You
cannot easily ascribe a precision to a 1 bit
field because there is only one nonzero value
possible.
In spite of slight conceptual error it is
often convenient to regard the precision as
the representional error caused by the vari-
ation of one in the least significant bit
position for a field width in bits that does
not include leading zero bits. Using this
method for two bits we can stipulate four
values, so we can say the precision is about
25%.
From this point let us decide to give
precision as the precision in bits in the bit
field that does not include leading zero bits.
Then, for each such precision, we can
compute an error that will have nothing at
all to do with accuracy beyond placing a
limit on the accuracy. This is equivalent to
saying that a method or procedure which
produces a value can be totally wrong but
this does not reduce the precision in the
value as it is represented. We can claim the
square root of 4 to be 1 .389567. This square
root is quite precise but not very accurate.
When one thinks of errors it is usually
errors caused by all inaccuracies rather than
just those errors caused by precision of
expression: However, for the remainder of
this article I will take a narrow view of errors
and assume they are all caused by precision
only. The nominal maximum relative errors
for different field widths, measured in bits,
are summarized in table 1.
Our approximate rule for the maximum
error in a 2 bit value gave us 25% when
the true value was about 20%. As the field
width in the number of bits increases the
approximate rule improves and is close
enough in any case. It is important to
remember that the effective field width does
not include leading zeroes.
The floating point fraction on the Uni-
vac 1108 (Univac calls it the mantissa) is
27 bits wide and the most significant bit is
86
always set for positive values. Thus the
precision, expressed as the maximum repre-
sentational error, is about one part in 10§
and is equivalent to seven or eight significant
decimal digits. The single precision floating
point fraction on the IBM System 370 com-
puters is allowed a width of 24 bits but
because the exponent radix is base 16, the
normalized fraction can have from none to
three leading zeroes. The precision therefore
varies from an error of about one part in 1 0^
for 24 bits to one part in 10? for 21 bits.
The equivalent decimal precision is about six
or seven significant decimal digits. The IBM
fraction is not quite as good as Univac's but
the dynamic range allowed by the floating
point exponent is greater. Both are greatly
inferior to the CDC machines with their 12
bit exponent and 48 bit mantissa in a word
of 60 bits.
It is not customary to use a signed value
in the exponent part of floating point
numbers. The more usual arrangement is to
bias the exponent by adding a constant. The
exponent range for the IBM floating word is
from 16~64 to 1 6^3 jne 16 is not shown
but is assumed. IBM adds 64 to the ex-
ponents so that the floating exponent part
for the value 16—64 is zero and for 1663
is 127. A floating value of one is equiva-
lent^ 16X1/16=1 which yields binary
01 000001 0001 00000000000000000000 as
a single, 32 bit value. In hexadecimal this is
41100000. The exponent part in hexa-
decimal is 41. Table 2 shows a summary of
the binary and hexadecimal digit placement
as used by IBM.
Negative floating values are typically
formed one of two ways. The word as a
whole is simply arithmetically inverted or
else only the sign bit is inverted. Either of
hexadecimal 4 110 0 0 0 0
binary 01 000001 0001 00000000000000000000
Table 2: The breakdown of a sample number of a 32 bit word into binary and
hexadecimal digit groups.
these methods is satisfactory and neither
changes the dynamic range of the exponent
nor the precision of the fraction.
Many IBM users go to double precision
floating point because the precision equiva-
lent to 6 decimal digits is not sufficient for
their needs. In this case the exponent, and
the dynamic range, is not changed but the
fraction width is increased to 56 bits which
is equivalent to about 17 decimal digits.
Double precision on the Univac allows
12 bits for the exponent, versus the single
precision 9 bits, and 60 bits for the fraction,
versus the single precision 27 bits. Double
precision on the CDC machines is almost
ridiculous — the exponent is essentially
repeated in the second word which allows
96 bits for the fractional part which is
equivalent to more than 30 decimal digits!
If I were writing a complete programming
system for an 8 bit byte machine, I would
not use a 4 byte copy of the IBM floating
word but would use two bytes for the
exponent with an exponent base radix of
two rather than 16 and four bytes for the
fraction part. A 32 bit fraction is equivalent
to about nine significant decimal digits and
the exponent range would be ridiculously
large. Or maybe one should use the IBM
method but adding two bytes to the fraction
part. My point here is that I personally do
not like a word with only six decimal digits
of precision."
The COMPUTALKER Model CT-1 optimizes the trade-off
between low data rate speech and directly digitized speech.
Low data rate speech relies on canned definitions for the
sound of each phoneme, which produces mechanical
sounding speech. Digitized speech, while remaining faithful
to the original sound, requires 1 OK to 20K bytes per second
of storage and is inflexible to phonetic manipulation.
With the Model CT-1, the sounds are defined in real time
under software control. Parameters which represent the
phonetic structure of human speech are transmitted to the
CT-1 at a rate of 500 to 900 bytes per second. This allows
the production of highly intelligible and quite natural
sounding speech output. Speaker characteristics and
language or dialect variations are retained in the output.
The CT-1 can also be operated in a low data rate mode using
phoneme definitions contained in the CSR1 Synthesis-by-
Rule software package. The COMPUTALKER speech synthesis
system, used in this way, has the advantage that the
software driver can easily be modified to keep the
naturalness and intelligibility of the speech output up to
date with the constantly evolving state of the art of rule
governed speech .
SPEAK "KAAMPYUTAOLKER"
WRITE FOR INFORMATIVE LITERATURE
COMPUTALKER CONSULTANTS
P.O. BOX 1951, DEPT. B.,
SANTA MONICA, CA 90406
CALIFORNIA:
Long Beach, CA 90815
A-VIDD Electronics
[213]S98-0444
Lawndale.CA 90260
Byte Shop of Lawndale
[213]371-2421
Orange, CA 92667
The Computer Mart
[714)633-1222
Santa Monica, CA 90401
The Computer Store
[213]451-0713
GEORGIA:
Atlanta, GA 30305
Computer Systems Center
[404]231-1691
INDIANA:
Bloomington, IN 47401
The Data Domain
[812] 334-3607
KANSAS:
Kansas City, MO 64113
Micro-Corn, Inc.
[8161333-8383
MICHIGAN:
Royal Oak, Ml 48073
Computer Mart of Royal Oak
[313] 576-0900
NEW JERSEY:
Hoboken, NJ 07030
Hoboken Computer Works
[2011420-1644
OREGON:
Portland, OR 97201
Byte Shop of Portland
[503] 223-3496
VIRGINIA, WASH. DC;
Fairfax, VA 22030
Roberts Information
Services, Inc.
[703]560-6119
CANADA:
Toronto, Ontario/Canada
M5V 1Z1
The Computer Place
[416] 598-0262
ENGLAND.
London NW6, England
Compelec Electronics
GERMANY, AUSTRIA:
8011 Munich-Putzbrunn
Datameg Div. of Megatron KG
[089] 46 50 66
JAPAN:
Shibuya-ku, Tokyo, Japan
Pax Electronic!
[03] 370-2751
87
Circle 24 on inquiry card.
SYNCHRO-SOUND Enterprises
Your Small Computer Department Store
>] »*.i il»]»]»] I i [*■(*]
Hardware and Software
Compare our PRICES, PRODUCTS, QUALITY,
»] 3 n VI J : W*ci a :Vi m :
you need in small computers, terminals,
printers, monitors, keyboards, accessories.
We'll meet or beat competitive prices on
everything we sell!
LEARSIEGLER
ADM-3A TERMINAL
IMSAI 8080 MICROCOMPUTER
Full addressable cursor.
Character Generation— 5x7 dot matrix.
Display Format— Standard: 1920
characters, displayed in 24 lines of 80
characters per line.
Character Set— Standard: 64 ASCII
characters, displayed as uppercase, plus
punctuation and control.
Communications Rates— 75 to 19,200
Powerful • Easy to use • Low cost
With 22 Slot Mother Board.. .$619.95
With Z-80 CPU 849.95
OKIDATA Model 110 Line Printer
• 110 CPS
dot matrix
Friction Feed $1099.00
Tractor Feed 1229.00
RS 232C Serial Interface. . .250.00
baud (switch selectable).
• Computer Interfaces — EIA standard
RS232C and 20mA current-loop (switch
selectable).
• Data Entry— New data enters on bottom
line of screen; line feed causes upward
scrolling of entire display with top-of-
page overflow. Automatic new line
switch selectable, end-of-line audible
tone.
ADM-3A Kit $839.95 i
ADM-3A Assembled .1079.95
Lower Case Option 89.00 I
SPECIAL BUYS
HAZELTINE Modular One Video
Terminal
$1639.00
959.00
2769.00
2595.00
989.00
599.00
2095.00
300.00
29.95
69.95
ilivery
SORAC IQ120 Video Terminal Kit
DEC LA180 Printer
COMPUCOLOR8001 Color Graphics
Computer
ICOM Microfloppy Disc & Controller. . .
NORTH STAR Microfloppy Disc &
Controller
OKIDATA Model 22 Printer
OMNITEC401C300 Baud Modem
2708EPROMS
OAE Papertape Reader
SOL 20 In Stock For Immediate De
NEKI
COMMERCIAL QUALITY KEYBOARD
The Model SS-1 Communications Terminal
is a non-contact capacitive keyboard with a
guaranteed life of over 100,000,000 opera-
tions.
• MOS/LSI Encoder with high reliability
low power consumption.
• Key Roll Over which eliminates operator
error and increases thruput.
• Hysteresis for tease proof operation.
• Solid State performance at mechanical
switch prices.
• Tactile Feedback at the operate point.
• ASR-33 Array with four mode encoding.
Keyboard Kit $99.95
Enclosure (with numeric
cutout) 49.95
Numeric Pad 34.95
Complete Kit (with pad)! 79.95
Assembled Unit
(with pad) 229.95
DECwriterll
SOFTWARE
Attention ALTAIR DISK Owners
Now available— an Accounts Receivable
System for the small user. This system is ex-
pressly designed to be run on an 8080 based
microcomputer using an Altair floppy disk with
Altair Basic, Video Terminal and Printer. Many
features normally found only on large scale com-
puters are included. Provided are such functions
as: Adding New Customer Accounts, Deleting
Dormant Accounts. Transaction Processing,
and Report Generation. The Monthly Statements
include both current and aged balances. Other
reports generated are the Aged-Accounts
Receivable and Delinquency Notices.
This easily usable system requires very little
operator training. All communication is in an in-
teractive mode with the program constantly
prompting the appropriate responses. Operator
errors are easily corrected and accidental data
base deletions are prevented by requiring addi-
tional confirmation.
This Accounts Receivable System, although
supplied ready for use, may readily be modified
to include special installation-dependent func-
tions. All major programs are written in high
level language making program additions and
alterations a simple task. This program module
is designed to serve as the basis for a complete
accounting package. Provisions are included for
linking Billing Inventory Control and General
Ledger modules which will be available in the
near future.
We carry a full line of the following: TDL, OAE,
Processor Tech., Hayden, Tarbell, IMSAI,
Cromemco, Compucolor, Icom, Lear Siegler,
Okidata, DEC, Javelin, Teletype, North Star,
Heuristics, Peripheral Vision, TRW. Same day
delivery and shipping on most items. Full,
modern repair facilities on premises for com-
plete servicing of everything we sell.
SYNCHRO-SOUND Enterprises
The Computer People
193-25 Jamaica Avenue, Jamaica,
New York 11423 • 212/468-7067
Hours 9-4 daily Visit our new showroom .
and Saturday working units on display
Dept. b BankAmericard • Master Charge
• 132 column printing • 30 CPS
• Full keyboard • Tractor Feed
$1769.95
I Please send
me
further
nformat
on on
(list
items)
Price
List a
City
State
Zip
Circle 25 on inquiry card.
DeskTop Wonders
Jeu de NIM, Peut Etre?
We recently received the following from Alain Chance' in Paris. Alain is a
confirmed SR-52 fan, as his letter so amply indicates. It, just goes to show
that enthusiasm for small systems programming is by no means limited to
the US.
Alain Chance
20 rue de Longchamp
75116 Paris FRANCE
I am an enthusiastic reader of your maga-
zine. Since I own an SR-52 with PC-100
printer attachment, I have read "The Buried
Gold in the SR-52"and "DeskTop Wonders"
[December 1976 BYTE, pages 30 and 92}
with great interest.
But I think that the register organization
offers a much more fantastic ability: By the
use of memory functions and program
storage registers, a program can alter itself!
'^A^
"That funny black caterpillar you just killed will set you back five
bucks. "
By Duane Bibby
To find out the correspondence between
codes and program register contents, we
execute the following sequence using the
SR-52's 2 digit keycodes:
*7TEE 12 STO 70 *rset "list
and we get:
display = 3.141592654 12
printout = 000 20 001 01 002 00 003 54
004 26 005 59 006 41 007 31
The following program should prove very
useful to SR-52 enthusiasts:
000 0
001 0
002 0
003 0
004 0
005 0
006 0
007 0
008 0
009 *LBL
010 A
011 0
012 0
0130
0140
015*rtn
016 *LBL
017 B
018 EE
019 5
020 8
021 +
022 RCL
023 7
024 1
025 =
026 STO
027 7
028 0
029 *rtn
030 0
031 0
To see how it works, perform the following
sequence:
* 77 STO 05 5 STO 97
Input 0.7094336
Press B, display = 5.607094336 60
Press A, display =3.141592654 00
The A function operates exactly the same
way as if we had keyed in the following
steps (in the learn mode):
*IND RCL 97
To replace those four steps by GTO 123
(whose codes are 41 01 02 03), we would
merely input .3020141 and press B.
This unique feature opens a new dimen-
sion in programming.
For SR-52 games hunters, I offer the
following version of NIM which allows up to
nine rows of 1023 pawns each. (This pro-
gram should be run with the PC-100
printer.)
90
Program Listing
v^SR-52
CODING FOR
NTH
VI - KODE
AGE /SEITE/P
a CM A
FORM ~ FEUILLE
ARF A
DE PROGR/
OF/VON/DE
DATUM /DATE
iMMATION
^
PROGRAMMER/ PROG HAMM1ERER/ PROG RAMM EUR _ r\l0.t
.hl-CE DATE /
iin_a*0tW7«
Loc. Code ; Key Comments
Adf. ;Kodej Taste Bemerkungen
Adr. ' Code | Touche Commentaires
Loc.
Adr.
Adr.
Code
Kode
Code
Key
Taste
Touche
Comments
Bemerkungen
Commentaires
Loc.
Adr.
Adr.
Code
Kode
Code
Key
Taste
Touche
Comments
Bemerkungen
Commentaires
Labels
Label
Labels
t
ne'e
•JS2
!
w© ' , „
*LBL
A
00
0
00
0
. nombrc de
MrionS ao<Jeb
11
St
•Mm
<H
STO
B r>umtro <Je Ifc
M
STO
Wi
*7
"1
06
e.
C TEO
ot €
se
"ptn
«7
7
Dhon affttie
8njj 5 2 «PPt
53 "pap
4-6
[u
045 I
»' °3
"LBL
oeo
56
*rtn
E u*) *>o
B
B
<H
*LBL
A' (o 5TO oo
5TC
15
* D'
#(>'
g^CtCt-oo-1)
1 li
_L»».
"JO
* 11x16
STO
3
9
8
o|
1
C1UL0O «OC7
j_?S
o o
0
D"
I 3 8
*prt
085
55
4-
p. =o SC p»CP,
*o ii Impair
_.i_8£
+■
4-2
STO
Mn'mo.7,.^n""'5""
16 T*A'
+ tBL
4-S"
r"
co utilise p«wr
I'uiit i*ocrtf n
OO 0
M0« u
* A'
K'
4-3
RCL
01 cchticnnchl
M *LftL
i o|
1
of
C
02 le howbre
87
* 1
» 1
SO
0
090
399
o7
7
03 <U pious
'S
***
3<
*IWD
Ui
STO
«S"
X
de chicunt
<r3 1 " PRof),
oj i
oi 8
4-3 j RcL
" °> I 9 |
7S -
17 *&' ...
J2 INV
Jt» 80 ! "if pos
oo 1 0
oo
o
o
^36
*jto.b
Acs Srangte
B55
oo
<H
B.CL
06titpPime'
5S"
=
oo
o
07dins le
STO
9
3
"rtn
095
S02
oo
o
08 ^steme
95
=
09 bih>tpft
5-6
"rtn
io 0
«•<
*LBL
1 'contienrwht
s
T6 *LSL
10
W e'
* tc'
'2 i
le hotrvbre
"■2
*b'
I
B'
100
31*
85"
+
l3dc ptohs
oi
£
At chrome
»5
=
,5dts 9 rjhje*
•1 | 3 ]
065 J* 3
RCL
15
E
"expritnt
« ! STO 1
1 OO
o
r5
■*»
'Vht it
0 o
o
105
°t
2
Ia4ysttmc
"■Mil o« £ t
S"S
*
75-
-
"clCCtlT*^!
o 5
ol
i
"Lai.
FUJI f l«Bi
ol I 1
U70
55
IS"
E
E
0
if , *IM6
Si
*rtr>
<?*
INV
'
l5Joi a ■
<H
»LBL
"■c'
RCL
no
99i
Si
S3
EE
c
^ttlisef
075
.1.8 .
43
*c'
j
l~s
Texas Instruments
«
°1 i 1 .
00
o
Example of Play
Play Instructions
4.
Load in the play card both A and B sides
Initialize: *fix 0 *CMs *rset
Enter the starting position: For each non-
empty row, input its number, n, (1 < n < 9)
and press B; then input the number of
pawns, xn, (0 < xn < 1023) and press A.
To play against the SR-52, input the num-
ber, n, of the row you have altered and
press B; then input the number of pawns
that remain in this row and press C.
To begin a new game go to line 2 above.
I hope that such programs will encourage
Texas Instruments to create a European
SR-52 Users Club. Many people are for sure
waiting for personal computer system dealers
in Europe."
4.
PR-
PR
Starting
Position
2-
PR"
PR""
2-
PR"
PF "
Player
t.
PF
PR
SR-52
Replies
I. L
0 PR"
PF ""
Player
n';
PR"
PF:""
SR-52
Replies
2.
0 F F ""
PF ""
Player
l.
PF'""
PR""
0 PF'"'
SR-52 Wi
ns
PF "'
91
BITS. BYTES
& BALONEY!
For all of you non-aficionados of the Computer
Art. . . .
BIT — an electrical signal or logic level (like
the zero or one of the Binary numbering system)
— Motorola's M6800 is an 8-bit MPU.
BYTE — a set of eight electrical signals, or
logic levels (bits) — The M6800 is capable of
addressing 65,000 bytes of memory.
BALONEY — the state-of-the-MPU-art that says
that you must be a trained computer expert to
use a Microprocessor in a practical manner.
More and more "individuals" are becoming self-
styled computer 'experts' at home, with their
own MPU kits. They are doing things that others
said, "couldn't be done," (just because they
forgot to ask).
NOW'S YOUR CHANCE — for only $235.00 (plus
$5.00 postage and handling) you can order your
MOTOROLA M68O0 MICROPROCESSOR EVALUA-
TION DESIGN KIT, directly from Motorola.
IT'S A COMPLETE KIT — the MEK6800D2 Kit
has all the parts necessary to complete the sys-
tem and get "On The Air," except for the Power
Supply. It includes:
o (1) MC6800 Microprocessing Unit
o (2) MCM6810 — 128 x 8 Static RAMs
o (2) MC6820L — PIA'S
o (1) MC6830L — Program ROM
o (1) MC6850L — ACIA
o (2) Printed Circuit Boards
o (1) MC6871 — Clock
o (1) 6-Digit Seven Segment Display
o (1) 24-key Keyboard
o Complete kit of resistors, capacitors,
sockets, circuits, etc. All the parts
necessary to the system, but the Power
Supply.
THE M6800 MPU KIT FEATURES
o 24-key Keyboard
o 7 Segment Display
o Cassette Interface
o EROM Expandable
o RAM Expandable
o Wire Wrap Capability
o Parallel & Serial
o Interface Capability
o Single 5-Volt Supply Required
o Layout on Boards
o Documentation
IF YOU'RE READY FOR
A MICROPROCESSOR
- THE M6800 IS
READY FOR YOU!
Send your order in today
for one of the most
powerful MPU Kits on
the market. Fill in the
order form below and
mail it with your check
to:
MOTOROLA
MPU KIT SALES
Department B
P.O. Box 27605
Tempe, AZ. 85282
I have enclosed $235.00 plus $5.00 shipping and
handling (add applicable state and local taxes) in
check or money for each MEK6800D2 Micro-
processor Design Kit II. Please send Kit(s).
NAME
ADDRESS.
CITY
STATE .
ZIP _
Please print clearly — Make checks payable to
Motorola Inc.
©MOTOROLA
Semiconductor Products Inc.
Circle 6 on inquiry card.
A Machine Code
Relocator for the 8080
When it became necessary
to insert a routine between
locations x and x+1 in
memory, I found myself
with two miserable op-
tions for manual patches.
Leor Zolman
362 Memorial Dr
Cambridge MA 02139
Many microcomputer hobbyists pass
through an early stage in the development of
their systems where machine language is the
only mode available for programming. My
system configuration at that point included
an IMS Al mainframe and 4 K memory, a
VDM-I video driver and monitor, and a
Tarbell cassette interface. The big problem
when programming something like LIFE for
the VDM in machine language occurs when
it becomes necessary to insert a routine (call
it routine y) between locations x and x+1 in
memory. I found myself with two miserable
options open:
1. Replace three or so bytes (the exact
number depending on where the new
instruction begins, on byte 3, 4, or 5)
with a patch to routine y, placed
somewhere else in memory, then re-
store the lost bytes at the end of
routine y and jump back to location
x+4, or so. This is not exactly ideal.
2. Manually relocate the program from
location x+1 on down until the end
of the program (unless you left plenty
of NOPs to handle just such a situation
— then, when you're all finished,
you're left with a bunch of useless
NOPs!) to make room for routine y.
This involves writing the whole thing
out on paper first then toggling it in.
Once again, far from optimal.
My solution to this dilemma was to write
a machine language program which performs
the second type of relocation above quickly
and painlessly when given just 11 bytes of
relocation data as shown in table I .
The program, which I call the "reloca-
tor," performs its duty in two phases.
Phase 1 simply takes the block whose first
address is a, and whose last address is b, then
transfers it as is to the area beginning with
About the Author: Leor
Zolman has been pro-
gramming for four years,
including such applications
as medical graphics for
Cedars of Lebanon Hospi-
tal in his hometown of Los
Angeles. He is currently
working on a 2 K resident
monitor for the 8080, and
characterizes himself as a
BASIC games enthusiast.
Mr Zolman is 1 7 years old
and a freshman at Ml T.
Number
Label
of Bytes
Address
2
ODDD,
a
ODDE
b
2
ODDF,
0DE0
2
0DE1,
c
0DE2
d
2
0DE3,
0DE4
2
0DE5,
e
0DE6
0DE7
Comments
First address of block to be relocated
Last address of block to be relocated
Destination address (ie: where the byte at location a should go)
First address to have references fixed
Last address to have references fixed
00 = fix references only
Function select: 01 = move block and fix references
02 = move block only
Table I: These six key pieces of information must be entered into the
locations shown (beginning at hexadecimal ODDD for listing I ) before
relocation can be performed.
92
address c. That's it for phase I. If the func-
tion select byte is equal to 02, then the
relocator quits here and goes into an infinite
loop which shows up as a known pattern in
the lights of an Altair or IMSAI front panel.
This is an indicator of the end of execution.
Phase 2 is the tricky part. All addresses
(meaning all 2 byte operands of 3 byte
instructions) which fall between items a and
b above (inclusive) must have added to them
the distance (number of bytes) which the
block was moved. This value is easily com-
puted by the expression c-a. For example,
if a ten byte block was moved from starting
location 10 to decimal starting location 75,
then the value 65 must be added to any 2
byte operand in the program having a value
from 10 to 20 inclusive.
The purpose of items d and e in the
relocation data is to tell the relocator where
it must look for such operands (references),
so that they may be altered or "fixed"
accordingly. Since the references may lie
anywhere within the program (not necessar-
ily just within the relocated block) d should
be set equal to the very first location of the
program, and e should be set to the last. The
exception to this, which occurs when a data
block lies in the way, will be covered later.
[To avoid the exception, the "good" pro-
gramming practice of keeping data separate
from executable code is highly recom-
mended . . .CH/ Phase 2 may be executed
without phase 1 if the function select is set
toO.
The beauty of this program becomes
apparent when a friend having 32 K in his
machine hands you a tape of a program he
wrote residing somewhere up in the sky (or
so it seems to you, with only 4 K) and you
would like to run it. All you have to do in
this case is:
1. Load in the relocator
2. Load in your friend's program in any
free memory space
3. Feed the relocator this relocation
data:
a. the original first address of the
program
b. the original last address of the
program
c. the location where you loaded it
(first location)
d. same as c
e. c + length of the program (this
equals c + b — a + 1)
f. 00 (function select to fix references
only)
4. Examine the start of the relocator and
hit run. When the LEDs stop flickering
(about I second for each 1 K between
Listing I: A relocation program for use on 8080a systems. The program takes
any existing program and transfers it to any other location desired in memory
with a minimum of fuss. Throughout this program, endless loops are used to
signal the end of major operations. These loops will cause the data LEDs to
output a constant light pattern on the front panel (line 0D37 for example). If
desired, the program can be modified so thai it jumps to any other desired
routine at these points, or returns to your monitor. All numbers followed by
an H are considered to be hexadecimal in this program (eg: 02H in line
0D35). Interestingly enough, while the program resides at starting location
0D00, it is perfectly capable of relocating itself!
Hexadecimal
Address
Code
Label
Op
Operand
Commentary
ODOO
31
FF
OD
LXI
SP, STACK
03
2A
DF
0D
LHLD
SBOT
get b;
OS
54
MOV
D,H
move b to DE;
07
5D
MOV
E.L
08
2A
E1
OD
LHLD
DTOP
get c;
OB
44
MOV
B,H
move c to BC;
oc
4D
MOV
C,L
0D
2A
DD
0D
LHLD
SSTRT
get a;
10
C5
PUSH
B
save c;
11
CD
A9
0D
CALL
COMPH
complement HL;
14
19
DAD
D
HL := b-a;
15
44
MOV
B,H
move to BC;
16
4D
MOV
C.L
17
E1
POP
H
get c;
18
09
DAD
B
set HL equal to bottom of
destination area;
19
3A
E7
0D
LDA
FUNK
get f;
1C
B7
ORA
A
if f=0, then skip phase 1 ;
1D
CA
3A
OD
JZ
STEP 3
20
1A
X
LDAX
D
get byte from source;
21
77
MOV
M,A
store byte at destination;
22
78
MOV
A,B
23
B7
ORA
A
24
C2
2C
0D
JNZ
Y
27
79
MOV
A,C
28
B7
ORA
A
29
CA
32
0D
JZ
TEST
if move is over, then go to
TEST;
2C
2B
Y
DCX
H
else keep a goin';
2D
IB
DCX
D
0D2E
OB
DCX
B
2F
C3
20
0D
JMP
X
32
3A
E7
0D
TEST
LDA
FUNK
move is now over;
35
FE
02
CPI
02 H
37
CA
37
0D
DONE
JZ
DONE
if move only, then go to
DONE, (this is endless loop)
3A
E5
STEP 3
PUSH
H
save c;
3B
62
MOV
H,D
get a;
3C
6B
MOV
L,E
place a in HL;
3D
CD
A9
0D
CALL
COMPH
40
Dl
POP
D
41
19
DAD
D
DE :=c-a;
42
22
E8
0D
SHLD
DISP
this is the displacement;
45
2A
E3
0D
LHLD
START
get d;
48
2B
DCX
H
49
23
LOOP
INX
H
4A
EB
XCHG
4B
2A
E5
0D
LHLD
STOP
4E
EB
XCHG
4F
7B
MOV
A,E
50
95
SUB
L
51
7A
MOV
A,D
52
9C
SSB
H
53
DA
53
0D
DONE2
JC
DONE2
if reference fixing is com-
pleted, then go to DONE2.
(this is endless loop);
56
06
1A
MVI
B,1 AH
get 3 byte op code count;
58
11
81
0D
LXI
D.TABLE3
address of 3 byte op table;
0D5B
1A
CHEK3
LDAX
D
5C
BE
CMP
M
5D
CA
7B
OD
JZ
ACT
if next byte in memory is
start of a 3 byte operation,
go to ACT;
60
05
DCR
B
else try next op;
61
13
INX
D
62
C2
5B
0D
JNZ
CHEK3
if there are more 3 byte
ops left to check, go
back to CHEK3;
93
Listing J, continued:
Hexadecimal
Address
Code
Label
Op
Operand
Commentary
65
06
12
MVI
B.12H
else perform same compari
with table oi 2 byte ops;
67
11
CB
OD
LXI
D.TABLE2
6A
1A
CHEK2
LDAX
D
6B
BE
CMP
M
6C
CA
77
00
JZ
SKIP
6F
05
DCR
B
70
13
INX
D
71
C2
6A
OD
JNZ
CHEK2
if there are more 2 byte
ops left 10 try, go back
74
C3
49
OD
JMP
LOOP
10 CHEK2;
77
23
SKIP
INX
H
else must be 1 byte,
78
C3
49
OD
JMP
LOOP
ignore n, skip ihe
operand ol a 2 byte
instruction;
7B
E5
ACT
PUSH
H
a 3 byte operation;
7C
2A
DF
OD
LHLD
SBOT
get b;
7F
54
MOV
D.H
move b to DE;
80
5D
MOV
E,L
81
2A
DD
OD
LHLD
SSTRT
get a;
84
44
MOV
B,H
move a to BC;
85
4D
MOV
C,L
86
E1
POP
H
87
23
INX
H
HL points to B2- B3;
88
7B
MOV
A,E
89
96
SUB
M
0D8A
23
INX
H
8B
7A
MOV
A,D
8C
9E
SBB
M
8D
DA
49
OD
JC
LOOP
if operand is > b, ignore it.
90
2B
DCX
H
91
7E
MOV
A,M
92
91
SUB
C
93
23
INX
H
94
7E
MOV
A,M
95
98
SBB
B
96
DA
49
OD
JC
LOOP
if operand is < a, ignore it,
99
2B
DCX
H
HL points to B2--B3 again
9A
EB
XCHG
9B
2A
E8
OD
LHLD
DISP
get displacement value;
9E
EB
XCHG
9F
7E
MOV
A.M
add to B2 - B3 ;
A0
83
ADD
E
A1
77
MOV
M,A
A2
23
INX
H
A3
7E
MOV
A.M
A4
8A
ADC
D
A5
77
MOV
M.A
A6
C3
49
OD
JMP
LOOP
go look for more 3 byte
operations;
A9
7C
COMPH
MOV
A,H
complement H L;
AA
2F
CMA
AB
67
MOV
H,A
Hexadecimal
Address
Code
Label
Op
Operand
Commentary
ODAC
7D
MOV
A,L
AD
2F
CMA
AE
6F
MOV
L,A
AF
23
INX
H
BO
C9
RET
d and e) hit stop. You should see C3 in
the data LEDs of an Altair or IMSAI.
That's it! Now the program should run
right where you loaded it, unless one of the
following problems occurs.
Relocating to a Lower Memory Location
The block move (phase 1) is clone tail
first. For a block of length n, then, byte n of
the source would be transferred to byte n of
the destination, then byte n— I would be
moved, then n— 2, etc, up to byte 1. There-
fore, relocating forward into higher memory
always works, but relocating backward into
lower memory fails if the difference between
the source and destination addresses is not
greater than the block length. In such a case,
say moving a block at b to location a, an
intermediate relocation must be done from b
to c (where Ic— al > length of block), and
then a second relocation must be performed
from c to a. Note: I could have had the
relocator check the direction of the move
Hexadecimal
Address
Code
Label
Commentary
0DB1
01
11
21
TABLE3
table of 3 byte op codes;
B4
22
2A
31
B7
32
3A
C2
BA
C3
C4
CA
BD
CC
CD
D2
CO
D4
DA
DC
C3
E2
E4
EA
C6
EC
F2
F4
C9
FA
FC
CB
06
OE
16
TABLE2
table of 2 byte op codes;
CE
1E
26
2E
D1
36
3E
C6
04
CE
D3
D6
07
DB
DE
E6
DA
EE
F6
FE
DD
00
00
SSTRT
source start a;
DF
00
00
SBOT
source bottom b;
E1
00
00
DTOP
destination c;
E3
00
00
START
start phase 2 d;
E5
00
00
STOP
end phase 2 e;
E7
01
FUNK
function select f;
E8
00
00
DISP
displacement (program definedl;
Figure I: A special case in program reloca-
tion. The program block a thru b is to be
moved to location c, but the integrity of the
data block from f thru g must be preserved.
The technique in this case is to change pro-
gram references in two passes: up to, but
not including, the data block, and then after
the block. Locating all data at the end of
programs will of course prevent this type of
problem.
source block
data area
destination block
start of program
end of program
94
and proceed either tail or head first accord-
ingly, but the program is long enough to
cause toggling headaches as it is.
Problems with the LXI Instruction
LXI instructions in which the operand
happens to equal an address in the block
between a and b but doesn't actually refer to
an address (LXI H, 0000 is a good example)
present a problem. If you are in the process
of writing the program try to use LHLD
instead (or, if worse comes to worse, LHLD
with MOV B, H and MOV C, L for LXI B,
xxxx) and set aside two bytes of storage at
the end of the program for the data.
If the program was not written by you, or
if you really want to use LXI, then the only
alternative is to go through your listing (if
you have one!) and change the locations in
question. But this problem never caused me
much trouble.
Data Block Problems
Avoid relocating data whenever possible.
If relocation is necessary do not try passing
through it with phase 2. Here is an
example of how to handle data areas: In a
program residing from location d to location
e, a block starting at a and ending at b is to
be moved to location c. As a complication, a
data block resides from location f to loca-
tion g. See figure 1 for a memory map of
this situation. The relocation should be
performed in two runs of the relocator as
follows:
Run 1 . Give relocation data of a, b, c, d,
f-1 , 1 . This moves the block and
fixes all references up to loca-
tion f, the start of the data area.
Run 2. Give data of a, b, c, g+1 , e, 0.
This simply fixes up the remain-
ing references after skipping the
data area.
[Here again the practice of keeping data
separate from executable code should allev-
iate this problem. . .CH/
In the listing provided the relocator re-
sides at locations 0D00 to 0DFF, but it is
self-relocatable, of course. The six key items
of relocation data must be set up at loca-
tions 0DDD to 0DE7 as shown in table 1,
with the low byte coming first numerically
in each case.
I sincerely hope that this program repays
your understanding and toggling efforts
with a vast reduction in relocation
frustration. ■
The value of this program
becomes apparent when a
friend having 32 K on his
machine hands you a tape
of a program he wrote
residing somewhere up in
the sky (or so it seems to
you, with only 4 K), and
you would like to run it.
THE SAME 8K STATIC MEMORY KITS
YOU'VE PURCHASED IN THE PAST, NOW ASSEMBLED AND TESTED
79G HAMPSHIRE RD..A+ B
WESTLAKE VILLAGE. CA 91361
TEL: (805)497-0733
3 CT APHC inc.
'FAST 8" $275
SPECIFICATIONS:
Access Ttme-.
Power Consumption:
Address Lines:
Memory Protect:
Power Regulators:
Address Select:
Output Disable.
Board:
ABY" $265
"Fast 8'"250 ns, Fairchild :
2102LHPC
"8K BABY" 450 ns, Fairer**
2102L1PC
No Wait States
"Fast8",1.6Aat+5V
"8K8ABY".13Aat+5V
Schmltt triggers tor buf-
fering
Hardware 8K
4ea,7805
Dip switch accessable from
top of board. No need
to remove board to re-
locate.
Permits use with trans-
parent loader
Quality G-IO material with
solder mask both sides
Not affiliated with Vector General, Inc.
95
Circle 9 on inquiry card.
BASICally BASIC
(an informal introduction to BASIC)
Robert Baker
15 Windsor Dr
Atco l\IJ 08004
The BASIC programming language was
developed in the early 1960s at Dartmouth
College as a conversational, problem solving
language. It has wide applications in scien-
tific, business, and educational environments
since it can be used to solve both simple and
complex mathematical problems from the
user's terminal. Due to the small number of
clearly understandable commands and pro-
gramming statements required, BASIC is one
of the simplest languages to learn and use.
Like most programming languages,
BASIC can be divided into two sections:
elementary statements for simple programs
and more advanced techniques and state-
ments for complicated problems. As an
introduction to BASIC, this article deals
primarily with the elementary functions and
statements recognized by BASIC as it is
most frequently implemented, with program
examples included to illustrate their applica-
tions. Several operating commands and a few
of the more advanced features found in
some BASIC systems will also be mentioned.
The specific features available on each
computer system will differ slightly, forming
many different dialects of the BASIC lan-
guage. When writing programs to be com-
patible with different systems, it's general
practice to use only elementary statements
common to most forms of BASIC. The
BASIC programming manual or equivalent
documentation should always be consulted
to verify the commands and statements
actually available and the conventions used
for a particular system.
BASIC Operating Commands
After gaining access to BASIC in what-
ever manner required by a particular system,
BASIC will normally respond with a message
indicating it is waiting for a command. The
various operating coi'nmands depend on the
BASIC implementation used. Several of the
commands usually available are:
OLD: Load a previously saved pro-
gram. BASIC may request the
old program (or file) name,
depending on the system.
NEW: Enter (or write) a new pro-
gram from the console.
BASIC may request a pro-
gram (or file) name de-
pending on the system.
LIST: Print the current program on
the console. Some systems
may allow printing individual
lines or groups of lines.
RUN: Compile and execute the cur-
rent program. Some systems
may allow starting at a parti-
cular line.
SAVE, RESAVE, or REPLACE
Save the current program.
UNSAVE, PURGE, or SCRATCH
Delete the current program.
BYE, GOODBYE, or SYSTEM
Exit BASIC.
In addition, some systems may accept
abbreviated commands or offer various
editing commands to possibly delete lines,
resequence line numbers, etc. Most BASIC
interpreters will usually type READY when
waiting for an operating command. New
lines are inserted by simply typing a line
number followed by the desired instruction
terminated with a carriage return. Line
numbers and individual instructions will be
discussed later.
Fundamental Programming Concepts
What does it take to represent a program
in a high level language such as BASIC? As
96
SATISFY YOUR APPETITE
FOR COMPUTER
KNOWLEDGE
WITH
SAMS COOKBOOKS
Send for the cookbooks and
manuals described. Increase
your knowledge of minicomput-
ers, microprocessors, computer
technology, related computer
circuits and peripheral equip-
ment. Be satisfied or your
money back.
How To Buy & Use
Minicomputers
& Microcomputers
By William Barden, Jr.
This manual gives you the
basics of minicomputers and
microcomputers. Explains
their hardware and software,
the peripheral devices available
and various programming languages
and techniques. Allows you to decide which
system is best for your needs. 240 pages;
softbound. No. 21351 $9.95
Microcomputer Primer
By Mitchell Waite and
Michael Pardee
Written for the beginner in the
computer field. All the basic
concepts and characteristics
of microcomputers are
explored. The easy to under-
stand language prepares you
for further study. 224 pages;
softbound. No. 21404
$7.95
CMOS Cookbook
By Don Lancaster
Your complete guide to the
understanding and use of
Complementary Metal-Oxide-
Silicon integrated circuits.
Gives usage rules; power
supply design examples;
applications; information on
breadboards, testing, tools,
and interface. Detailed
coverage of logic and more.
416 pages; softbound. No. 21398 $9.95
The Big CMOS Wall Chart 35" x 23"
Big, readable wall chart provides essential
information on CMOS devices. No. 21399 $2.95
Dl
m
POUTER
Sag
Computer Dictionary and
and Handbook
By Charles J. Sippi &
Charles P. Sippi
At your finger tips you have
more than 22,000 definitions,
acronyms, and abbreviations
dealing with the field of data
processing. Also 13
appendices cover a myriad of
computer related subjects.
784 pages; hardbound. No.
20850 $19.50
TTL Cookbook
By Donald E. Lancaster
You'll discover what
Transistor-Transistor Logic is,
how it works and how to use
it. Discusses practical digital
applications. You'll learn to
build TTL systems that
entertain, test and train. 336
pages; softbound No. 21035
$8.95
User's Guide to TTL (Wall Chart) 35" x 23"
Shows you needed information on TTL
devices at a glance. No. 20180 $2.50
o
o
TV Typewriter Cookbook
By Don Lancaster
Your comprehensive guide to
low cost television display of
alpha-numeric and graphics
data for microprocessor
systems, word processing, TV
titling and video games.
Covers configurations,
memories, keyboards,
techniques and much more.
256 pages; softbound. No.
21313 $9.95
Send your order
Today!
Send books and/or wall charts checked below,
$ enclosed*. I understand that, if not
completely satisfied, I may return my order
within 10 days for a full refund.
□ 21351 □ 21399 □ 21080 □ 20969
□ 21404 □ 20850 □ 21313 [J 20715
J 21398 F] 21035 □ 21168
'Include sales tax where applicable.
Canadian prices slightly higher.
ad;
Active-Filter Cookbook
By Don Lancaster
Dynamic coverage of active
filters. What they are and how
to use them. Learn to build
and apply them to audio
equalizers, speech therapy,
psychedelic lighting and more.
240 pages; softbound.
No. 21168 $14.95
:t
NAME
please print
ADDRESS
o
1—
CITY
"0
STATE
ZIP
o
c
a
Howard W. Sams & Co., Inc.
4300 West 62nd Street
Indianapolis, Indiana 46206
IC Op-Amp Cookbook
By Walter G. Jung
Now one book gives you
in-depth exposure to IC op
amps. Covers theory and over
250 practical circuit applica-
tions. 592 pages; softbound.
No. 20969 $12.95
RTL Cookbook
By Donald E. Lancaster
You will learn the how and
why of Resistor-Transistor
Logic. Obtain useful design
information and many digital
applications. 240 pages;
softbound. No. 20715 $5.75
Circle 26 on inquiry card.
irator
Exampl
e
Description
+
A+B
Add A and B
+
+ A
A is positive
-
A-B
Subtract B from A
-
-A
A is negative
*
A*B
Multiply A times B
/
A/B
Divide A by B
T
* *
AI B
A»*B
!
A to the power B
Table I: Arithmetic Operators. A typical
BASIC interpreter incorporates an arith-
metic expression parsing algorithm which
recognizes the usual add, subtract, multiply,
divide and exponentiate operations. Pre-
cedence is described in the text, and
parentheses are used for explicit ordering of
operations.
with any computer language, BASIC uses
certain notations for numbers, variables and
operations.
Numbers
The computer can compute the value of
expressions like 12/7 or SQR(9); but while
they use numbers, they arc not considered
numbers and may not be used in lists of
constant data. Numbers are self defining
values which are generally expressed in
decimal form and may be positive or nega-
tive (ie: 3 or -2.79. Most BASIC languages
will also allow scientific notation for num-
bers, where the letter "E" is used to signify
10 raised to a power. A number expressed in
this form, such as aEb, would indicate "a"
times 10 raised to the power "b". Thus,
0.125 may be expressed as 0.125E0 or
125E-3, and 1000 may be written as 1E3 or
10E2. With scientific notation, a number
must always be present on both sides of the
letter "E", and may be either positive or
negative. There is usually a maximum num-
ber of digits allowed with either number
notation depending on the particular com-
puter and BASIC implementation.
Variables
Simple numeric variables arc generally
specified by any single letter or any letter
followed by a single digit. Thus, E7 would
be interpreted as a variable along with A, B,
C2, and X0. Certain computer systems may
allow more advanced variable labeling. But if
you expect compatibility with other BASIC
systems, it is best to use this restricted,
simpler form.
Numeric variables represent a number
with a value. The value is assigned to the
variable by either LET or READ statements.
An assigned value will not change until the
next LET or READ statement which ex-
plicitly changes the variable. In the typical
BASIC interpreter, all numeric variables are
initially set equal to zero before a program is
run. It's only necessary to assign an initial
value to a variable when a value other than
zero is desired.
Arithmetic Operators
Arithmetic computations in a language
like BASIC arc performed by evaluating
single line formulas similar to those used in
standard mathematical calculations. Any of
the arithmetic operators listed in table I
may be used to write a desired formula. In
computations utilizing multiple operators,
the order of precedence is determined by a
very conventional set of rules:
1. A formula inside parentheses is evalu-
ated before the parenthesized quantity
is used in a computation.
2. Normally, an operator cannot follow
another operator. The operators + and
— can, however, follow the operators
*, /, t or **, In this case, the + or -
takes precedence over the leading
operator to indicate the sign of a
quantity.
3. Without parentheses in a formula, **
and t take precedence over * and /,
which take precedence over + and
4. With only * and / operators and no
parentheses, BASIC performs the
operations from left to right in the
order they arc read.
5. With only + and - operators and no
parentheses, BASIC performs the
operations from left to right in the
order they are read.
The following examples will help illustrate
these rules and how a BASIC interpreter
typically executes various computations:
B+3*A**2 «■ A squared times 3, then
added to B
B+(3*A)**2 ♦» Product of 3 times A is
squared, then added
to B
(B+(3*A))**2*» Product of 3 times A is
added to B and the sum
is then squared
A/B/C «* Quotient of A divided
by B is then divided
by C
A B— C ** C is subtracted from
the result of B sub-
tracted from A
A#*2**3 <-> The result of A squared
is then cubed
98
Extensys
Corporation
The most cost effective
products for your |f
microcomputer, iff
CGM77H
JNlss^
*7"*^?1
THE RM64 MEMORY BOARD provides the most
cost effective means for system memory addition in the industry.
The board is S-100 bus compatible making it usable in over a dozen
different microcomputer systems including ALTAI R and IMSAI .
It comes in three configurations: 32K, 48K or 64K bytes and is
completely assembled, checked out and burned in for at least 50 hours
prior to shipment. This complete testing procedure enables EXTENSYS
to provide you a one year warranty on parts, labor and materials
(assuming no misuse of the board occurs).
On board hardware is provided for:
Individual memory bank address selection in 8I< increments;
Complete dynamic refresh logic without loss of processing
efficiency while programs are running;
. Board select logic which allows more than one 64K byte board
per system;
. S-100 bus compatibility including on-board voltage regulator;
Memory overlap which allows memory sharing the same address
space to coexist in the same system; and
. Write protection in 16K blocks
THE CGM77 COMPUTER GRAPHICS MACHINE is a fully tested
system that provides the basis for developing the most sophisticated
video graphics imaginable. The CGM77 board is S-100 bus compatible,
making it usable on over a dozen different computer systems. The only
additional components needed for a complete video graphics system
are 8K bytes of RAM interfaced to the microcomputer system. The
EXTENSYS RM64-32K RAM board is ideally suited for this.
Special control panels are available that provide universal control
for interfacing with the graphics board. Output of the board is in the
form of composite sync that can be used directly by a high resolution
video monitor.
The heart of the system is the EXTENSYS GRAPHICS MACHINE.
This is a sophisticated piece of software developed by EXTENSYS for
the rapid implementation of video graphics. The GRAPHICS
MACHINE permanently resides in PROM chips that are part of the
board and therefore never need to be loaded. The GRAPHICS
MACHINE software actually transforms the microprocessor into a
much more powerful and sophisticated computer whose instruction
set is ideally suited for the development of video graphics or video
games.
Contact your local computer store ___________
or order directly from EXTENSYS | _j _ B-l
Please place my order for the following;
QTY DESCRIPTION AMOUNT
RM64-32K byte board _ S 895 ea.
RM64-48K byte board @ $1195ea.
RM64-64K byte boards $1495 ea.
CGM77 computer graphics
board @ $ 375 ea.
Subtotal
California residents add m% tax
TOTAL
Shipping and handling prepaid in continental United Slates
NAME
extensys
_____■_# co r po rat ion
592 Wedded Drive
Sunnyvale, California 94086
lease check method of payment;
Check Enclosed
, BankAmericard No
expiration date
Master Charge No.
expiration date
ADDRESS-
CITY
.SIGNATURE:
PHONEIINCLUDE AREA CODE) _
Circle 27 on inquiry card.
Arithmetic Functions
In addition to the five arithmetic opera-
tions, a fully implemented BASIC inter-
preter can evaluate several standard mathe-
matical functions. The elementary functions
available in a typical BASIC arc listed in
table 2. Any valid formula may be substi-
tuted for X in all of the functions. More
advanced functions are often available and
will be discussed later. Various other mathe-
matical functions may be available de-
pending on the individual computer system
used. Sometimes extended nonarithmetic
functions arc also made available.
Relational Symbols
When it is necessary to compare values,
six mathematical symbols of relation are
used in IF statements. Some systems may
use the alternate written expressions, espe-
cially when the terminals do not have the
standard symbols. Table 3 lists the standard
symbols and alternate forms of relational
operations.
Line Numbers
In any BASIC program, each statement
must include a line number as mentioned
earlier. The first line is usually numbered 10
and all following line numbers are generally
in steps of 10. This allows insertion of extra
statements between existing lines by using a
line number between the two lines where the
statement is to be added. New lines arc
correctly inserted by BASIC by using the
line number specified with each statement.
The only restriction on line numbers in a
program is that each line number must be
greater than the preceding line number.
Elementary Programming Statements
The elementary statements of the BASIC
language are identified by the first word of
the statement.
Function
Description
SIN(X)
Sine of X
COS(X)
Cosine of X
TAN(X)
Tangent of X
COT(X)
Cotangent of X
ATN(X)
Arctangent of X
EXP(X)
e raised to the power X (ex)
LOG(X)
Natural logarithm of X (1n X)
SQR(X)
Square root of X ( >/x~ )
ABS(X)
Absolute value of X ( IXI )
X is usually interpreted
as an angle expressed in
radians on most systems.
X is always interpreted
as a number.
LET Statement
The LET statement is used to assign a
given number or the result of a calculation
to a particular variable or group of variables.
The general form of the LET statement is:
LET [variable] = [formula]*
*Any item shown in brackets will indicate a
general form of an argument, such as:
[variable] = any variable
[line number] = any line number
Table 2: Typical BASIC Mathematical Functions. The usual implementation
of a full BASIC interpreter provides this list of built-in mathematical
functions. The precision and range of numbers depends upon the details of
the implementation and its number representation internally.
With some BASIC implementations, the
word LET may be optional in the statement.
Examples of assigning a value to a single
variable would be:
10 LETX=1
20 LETA=B*2/3
In many BASICs, several variables maybe
assigned the same value by a single LET
statement, such as:
30 LETX=Y2=B=4
Also, a variable may appear on both sides of
the equal sign since the entire calculation is
completed using "old" values of data before
the result is assigned to variables on the left
hand side of the "=" sign. For example, the
statement:
100 LETX=X+1
will take the old value of X added to one
and assign the result as the new value of X.
The LET statement is not an algebraic
equality, but a command to perform the
computations and assign the answer to the
variables specified. It is an unfortunate fact
of computer language life that most lan-
guages use the same "=" symbol for assign-
ment (data transfer) and relational tests
(data comparison).
READ and DATA Statements
These statements are used to enter infor-
mation into the computer for a given pro-
gram. The READ statement assigns values
obtained from DATA statements to the
variables listed in the READ statement. A
DATA statement must be present in order to
use a READ statement.
Before a program is run, the typical
BASIC interpreter will take all DATA state-
ments in the order they appear and store
them in a large data block. Every time a
READ statement is encountered, the next
available numbers from the data block are
assigned to the variables in the READ
statement. If the data block runs out of
data, the program will stop and an error
message will be printed.
READ statements are normally located
near the beginning of a program since data
must be read in before working with it.
DATA statements may be located anywhere
in a program, as long as they occur in the
100
Talk to your computer for $299
with SpeechLaB.
Use SpeechLab to directly
control any S-100 Bus Com-
puter such as Sol, IMSAI, Altair
and so on. SpeechLab can
teach you almost as much as the
Bell Laboratories know about
voice recognition, voice control
and computer input.
SpeechLab digitizes and
extracts data from speech wave
form and applies pattern
matching techniques to recog-
nize the vocal input. Response
is real time. The system
features 64 bytes of storage per
spoken word and can handle
up to a 64 word vocabulary. And
recognition after very little
practice is 95 percent or better.
$299" assembled and tested
When we talk price every-
body's skeptical. And why
not? We give you a complete
hardware/software system,
a 275 page laboratory manual,
95 page hardware manual
and high fidelity microphone.
The lab manual includes
35 graded experiments with
over 100 tables and graphs. In
fact, it's the only introductory
volume on speech recognition
currently available.
Software includes
SpeechBasic Basic program-
ming language in source and
'Available in kit form for slightly less.
paper tape, assembly language
speech recognition program
in source and paper tape, hard-
ware self-test program in
source and paper tape.
SpeechBasic plot, correlation,
recognition and advanced
recognition programs are
offered in source.
Hard to believe, you bet.
True? A Los Angeles customer
says, ;'I love your kit!!! I
have 40 boards and 2 IMSAI's
and your kit was the best
documented of them all. I love
the way you integrated the
software and hardware to-
gether. I love your lab manual'.'
We loved those comments.
They tell the story better than
we ever could. The LA cus-
tomer did ask who the founders
of the firm were so he could
relate better. They're a couple of
gifted young engineers who
got tired of the big firm, big tech-
nology trip and decided to take
a chance with a better idea.
You can't get better quality
You can't get more performance
Sure, more complex,
higher price equipment is avail-
able for about 50 times more
money. It won't do much more
than you can do with Speech-
Lab. And the quality and
state-of-the-art engineering
can't be any better. We use
CMOS design for low power
and ultimate reliability.
See SpeechLab at your nearby
computer store
Selected computer stores
have SpeechLab on display.
Visit your nearest. If he doesn't
have it, ask him to contact us
or simply write us directly.
Heuristics, Inc., Box B, 900 N. San Antonio Road
Los Altos. CA 94022, Phone (415) 948-2542
□ Send me SpeechLab. I enclose $299.
California residents add sales tax.
D Send me more information.
Name-
Streets
City
. State .
Zip.
In Canada:
Trintronics Ltd.
186 Queen St. W.
Toronto, Canada M5V 1Z1
Heuristics
INC.
Circle 28 on inquiry card.
Standard
Alternate
Symbol
Expression
Example
Description
=
=
A = B
A equals B
<
LT
A < B
A LT B
1
A is less than B
<=
LE
A <= B
A LE B
1
A is less than or equs
>
GT
A > B
A GT B
1
A is greater than B
>=
GE
A >= B
A GE B
1
A is greater than or e
<>
NE
A <> B
A NE B
1
A does not equal B
Table 3: Typical BASIC Relational Operators. These operators are used to
specify comparisons between operands which might be numbers, variables or
formulae. In certain BASIC implementations, substitutes are made when
special characters are not available. For example, in a homebrew computer
system using an older Baudot Teletype model, such substitutions would be a
virtual requirement.
correct order. Many programmers find it
convenient to place DATA statements just
before the END statement at the end of the
program. Each READ statement is of the
form:
READ [list of variables]
While each DATA statement is of the form:
DATA | list of numbers]
Example:
100 READX,Y,Z
200 DATA 1,2,3,4,5,6,7,8,9,0
The statements in this example would read
the first three numbers of the data block
(1,2, and 3) and assign them to X, Y, and Z.
Always remember that only numbers, not
formulas, may be used in DATA statements
and 14/3 and SQR(7) arc formulas.
PRINT Statement
PRINT statements are used for a variety
of purposes in a typical program. While the
command is called "PRINT" in many sys-
tems this means in fact "send data to the
primary BASIC output device," such as a
hard copy printer or electronic display de-
vice. The following example illustrates the
format used to print the results of a com-
putation or a variable value:
10 PRINT X,SQR(X)
This example would print or display the
current value of X followed by the square
root of X a few spaces to the right. To print
a specified message, the message is enclosed
in quotes and the following format is used:
20 PRINT "NO ANSWER"
This example would simply print the words
NO ANSWER on a single line without the
quotes. If desired, messages and values may
be intermixed:
30 PRINT "THE SQUARE ROOT OF"
X"IS"SQR(X)
This statement would type the following line
if the value of X were nine:
THE SQUARE ROOT OF 9 IS 3
To skip a line or issue only a carriage return
and line feed, the PRINT statement is used
with no arguments:
40 PRINT
With many of the more advanced BASIC
systems there are various print control
characters and special statements which may
be used to control the spacing of the data
being printed. This control may vary be-
tween systems and is beyond the scope of
this article. For the present, it's sufficient to
understand the primary use of the PRINT
statement and to know there are often
methods available to print data in any-
desired format.
GO TO Statement
The GO TO statement is used to uncon-
ditionally jump to some specified statement
in the program other than the next sequen-
tial statement. The line being jumped to may
be anywhere in the program, before or after
the current line. The general form of the GO
TO statement is:
GO TO [line number]
Example:
100 GO TO 200
This example would always cause the pro-
gram to skip to line 200 whenever reaching
line 100.
IF Statement
The IF statement is used to conditionally
jump from the sequential order of state-
ments according to the truth of some rela-
tion. The program will skip to the desig-
nated line number only if the relation
specified is true. The IF statement, some-
times referred to as a conditional GO TO
statement, has the general form of:
IF [formula] [relation) [formula| ,
THEN [line number]
Example:
120 IF X=0, THEN 200
130 IFSIN(X) <=0.5, THEN 80
In this example, if the value of X is zero, the
program will skip to line 200. If the sine of
X is less than or equal to 0.5, the program
will jump back to line 80. When both
conditions are false, the program will go to
the next line in order. The word "THEN"
may be replaced with "GO TO" or the
comma before "THEN" may be optional
depending on the system.
ON Statement
Where the IF statement provides a two
102
THE LATEST IN TAPE SYSTEMS
MODEL CC-8 - $175.00
MODEL 3M3A - $220.00
2SIO (R) CONTROLLER
$190.00 ($160.00 Kit)
4800 BAUD CASSETTE RECORDER
An ASYNCHRONOUS NRZtype Recorder
with remote motor start/stop. Error rate 10^ at
4800 BAUD. Can be used from 110 to 4800
BAUD into a UART or "Bit Banger PIA" - no
clocking required. This is not an audio recorder.
It takes RS232 or TTL signals from the
terminal or computer and gives back the same
signals. No audio interface is used. Motor
start/stop is manual or through TTL or RS232
signals.
Tape speed is 3.2"/second nominal; 1.6"/sec.
optional. 110 volt, 60 Hz, 5 watts. (220 Volts
on special order). Can use high quality audio
cassettes (Philips Type) or certified data
cassettes. Can be used in remote locations from
a 12 Volt battery.
Recommended for DATA LOGGING,
WORD PROCESSING, COMPUTER
PROGRAM RELOADING and DATA
STORAGE. Especially recommended for 6800
systems, 6502 systems, 1800 systems and
beginners with the 8080 systems. Manual
control except for motor start/stop. 6800 or
8080 software for file or record searching
available on request with order. Used by major
computer manufacturers, Bell Telephone and
U.S. Government for program reloading and
field servicing. AVAILABILITY - Off the
shelf.
50 KILOBAUD CARTRIDGE RECORDER
This is a self clocking (1/1) high speed
recorder. Loads BASIC in under 2.0 seconds.
Recording is done at 19.2 Kilobaud. Playback
at 50 Kilobaud. File or Record searching is
done at 50 Kilobaud and loading is automatic.
Worst case access time about 2 minutes for up
to 2 megabytes on the 3M Data Cartridge.
Tape speed 10"/sec. on record, up to
30"/sec. on playback. Records one clock track
and one data track on each pass (2 passes).
Recording is NRZ unencoded from RS232 or
TTL signals.
This recorder requires one Parallel port for
motor control, and one serial port for data and
clock. (Cannot be used with UART's or UART
boards such as the 3P+S). Used with USART's,
ACIA's or other 1/1 clocking I/O devices under
software control only. No manual controls.
Software for 8080 and 6800 available. Power
supply is built in, 110V, 60 Hz. 220 V, 50 Hz
for export.
PROVIDES MONITOR AND TAPE
SOFTWARE in ROM TERMINAL and TAPE
PORTS on SAME BOARD CONTROLS ONE
or TWO TAPE UNITS (CC-8 or 3M3A)
This is a complete 8080, 8085, or Z80
system controller. It provides the terminal I/O
(RS232, 20 mA, or TTL) and the data cartridge
I/O, plus the motor controlling parallel I/O
latches. Two kilobytes of on board ROM
provide turn on and go control of your Altair
or Imsai. NO MORE BOOTSTRAPPING. Loads
and Dumps memory in hex on the terminal,
formats tape cartridge files, has word processing
and paper tape routines. Best of all, it has the
search routines to locate files and records by
means of six, five, and four letter strings. Just
type in the file name and the recorder and
software do the rest. Can be used in the BiSync
(IBM), BiPhase (Phase encoded) or NRZ modes
with suitable recorders and interfaces.
This is Revision 7 of this controller. This
version features 2708 type EPROM's so that
you can write your own software or relocate it
as desired. One 2708 preprogrammed is
supplied with the board. A socket is available
for the second ROM allowing up to a full 2K of
monitor programs.
Fits all S100 bus computers using 8080 or
Z80 MPU's. Requires 2 MHz clock from bus.
Cannot be use; with audio cassettes without an
interface. Cassette or cartridge inputs are
RS232 level.
AVAILABILITY -Off the shelf.
OVERSEAS: Export Version 220 volt 50 hz. Write factory or: Megatron-Datameg, 8011 Putzbrunn, Munchen, Germany;
Nippon Automation 5-16-7 Shiba, Minato-Ku, Tokyo. Japan; Hobbydata, FACK 20012, Malmo, Sweden; G. Ashbee, 172
Ifield Road, London SW 10-9ag: Trintronics, Ltd., 186 Queen Street W., Toronto, Ontario, Canada; EBASA, Enrique
Barges 1 7, Barcelona 14, Spain; ARIES, 7, rue Saint Phillipe du Roule, 75008 Paris; Microlem 20131 , Milano, Italy; Eagle
Electric, Capetown, S. Africa.
For U.P.S. delivery, add S3. 00 Overseas and air shipments charges collect. N.J. Residents add 5% Sales Tax. WRITE or CALL for further
information. Phone Orders on Master Charge and BankAmericard accepted.
Canadian Distributor:
Trintronics Limited
186 Queen Street West
Toronto, Canada M5V IZ1
Tel: (416) 598-0262 NATIONAL MULTI PLEX CORPORATION
3474 Rand Avenue, South Plainfield NJ 07080 Box 288 Phone (201) 561-3600 TWX 710-997-9530
Circle 29 on inquiry card.
103
Legal Loops:
-100 FOR X
-110 FOR Y
-157 NEXT Y
■160 NEXT X
Illegal Loops:
• NOTE CROSSOVER
-780 FOR X . . .
-790 FOR Y . . .
■820 NEXT X
■830 NEXT Y
Legal Loops:
Figure I: Nesting Diagrams: Legal and Il-
legal. There are legal and illegal ways to nest
FOR . . . NEXT loops. The legal way to do
so is to ensure that the program always has
complete loops within loops. The illegal way
is to have the loops cross each other. The
arrows show the scope of each loop in this
set of examples.
-213 FOR X
-220 FOR Y
r~230 FOR Z
1—260 NEXT Z
r^300 FOR W
■350 NEXT W
- 400 NEXT Y
410 NEXT Z
general form of the END statement is simply
the word "END":
9999 END
STOP Statement
The STOP statement is equivalent to a
GO TO statement, where the line skipped to
is the END statement of the program. The
statement is simply the word "STOP":
1000 STOP
REM Statement (Remark)
The REM statement provides a method
of inserting remarks and comments in a
program listing. Even though whatever fol-
lows REM is ignored, the line number may
be used in a GO TO, IF, ON, or GOSUB
statement. The general form of the REM
statement is:
REM [any desired information!
Example:
1000 REM THIS ROUTINE AVERAGES
10NUMBERS
way fork in a program, the ON statement (if
it is implemented) allows a multiple path
switch. The general form of the ON state-
ment is:
ON [formula |,
GO TO | list of line numbers]
Any formula may be used and the instruc-
tion may contain any number of line num-
bers as long as the statement fits on a single
line.
The value of the formula is computed and
truncated to an integer. If the result is one,
the program skips to the line number occur-
ring first in the list; if the result is two, it
skips to the second line number in the list,
etc. If the result of the formula computation
is less than one or greater than the number
of line numbers listed, an error message is
printed.
Example:
20 ON X-1,
This example
following:
If X is 2, program will go to line 1 00
If X is 3, program will go to line 200
If X is 4, program will go to line 300
If X is less than 2 or greater than 4, an
error message will be printed.
The comma preceding "GO TO" may be
omitted or the word "THEN" may be
substituted for "GO TO" on some systems.
END Statement
Every program must have an END state-
ment and it must be the statement with the
highest line number in the program. The
GO TO I 00, 200, 300
will cause one of
the
Elementary Programming Examples
Now that the elementary statements and
functions have been introduced, three
sample programs are included which will
help illustrate how statements are combined
to accomplish various computations or
comparisons.
Loops
The simplest way to execute a sequence
of instructions a given number of times is by
using a program loop. The block of instruc-
tions within the loop is executed repeatedly
until a given condition is satisfied. In BASIC
there are two statements used to specify a
loop: The FOR statement is used at the
beginning of the loop and the NEXT state-
ment at the end. The general form of the
FOR statement is:
FOR | numeric variable] = [formula-]]
TO [Tormu^] STEP [formu^]
Depending upon the BASIC implementation,
the word "BY" may be substituted for
"STEP" in the FOR statement.
The accompanying NEXT statement is of
the form:
NEXT [numeric variable]
The variable in the NEXT statement must be
the same variable as in the FOR statement
for each loop.
Loops may be nested to a level dependent
on the particular BASIC implementation
system, but the loops must be legally nested
and not crossed. Figure I shows some
examples of legal and illegal nesting.
The value of the numeric variable starts at
the value of formula-] and is changed by the
104
XililEDiA P=5EiEnCi
The SOROC 10120
CURSOR CONTROL. Forespace, back-
space, up, down, new line, return, home,
tab, PLUS ABSOLUTE CURSOR AD-
DRESSING.
TRANSMISSION MODES. Conversation
(half and full Duplex) PLUS BLOCK
MODE — transmit a page at a time.
FIELD PROTECTION. Any part of the
display can be "protected" to prevent
overtyping. Protected fields are displayed
at reduced intensity.
EDITING. Clear screen, typeover, abso-
lute cursor addressing, erase to end of
page, erase to end of line, erase to end
of field.
DISPLAY FORMAT. 24 lines by 80 char-
acters (1 ,920 characters).
CHARACTER SET. 96 characters total.
Upper and lower case ASCI I .
KEYBOARD. 73 keys including numeric
key pad.
REPEAT KEY. 1 5 cps repeat action.
selectable
DATA RATES. Thumbwhee
from 75 to 19,200 baud.
SCREEN. 12 inch rectangular CRT
phosphor.
P4
SPECIAL INTRODUCTORY PRICING
Kit $ 995.00 Assembled $ 1 ,295.00
(Price includes block mode, lower case and 24
line options.)
Specials of the Month
North Star Micro Disk
with power supply and cabinet Kit — S699
Assembled - $799
IMSAI I-8080 with TDL ZPU Kit - $825
Assembled - $975
Digital Systems FDS Disk Drive with
CP/M Software (assembled only) . Single - $1,750
Dual -$2,350
Mountain Hardware PROROM Kit - $145
Assembled -$210
Vector Graphic 8K RAM Kit - $235
Assembled — $285
XIMEDIA OFFERS A FULL RANGE OF PRODUCTS FOR
THE PERSONAL COMPUTER ENTHUSIAST AND THE
SMALL SYSTEM DESIGNER. LET US QUOTE ON ALL
YOUR HARDWARE AND SOFTWARE NEEDS.
OUR RETAIL STORE -THE COMPUTERISTtm - IS NOW
OPEN IN SAN FRANCISCO. CALL US FOR DIRECTIONS.
NOW WE RE
TOLL FREE
800-227-4440
(in California, Hawaii, and Alaska, call collect:
415/566-7472)
XililEDiA
1290 24th Avenue, San Francisco, CA 94122
(415) 566-7472
Circle 30 on inquiry card.
COD orders freight collect. Orders with payment shipped prepaid. California
residents add 6% sales tax. Please allow 3 weeks for delivery.
value of formula3 (either positive or nega-
tive) each time BASIC completes an execu-
tion of the loop. If the word "STEP" and
formula3 are omitted, the step value defaults
to positive one. It should be pointed out,
however, that the control variable may be
changed within the body of a program loop
if desired. Exercise care when using non-
integer step values since noninteger numbers
cannot be represented exactly in binary and
may be truncated or approximated within
the computer. This may cause an undesired
number of loops to be executed due to the
unexpected results. [See W Douglas Maurer's
"Software Bug of the Month #2" on page SI
of the July 1976 BYTE.} For this reason,
every effort should be made to use an
integer step value whenever possible.
Example:
5 LETF=1
10 FORX=l TO 10 STEP 1
20 LET F=F*X
30 PRINT X,F
40 NEXTX
This example program loop will be executed
10 limes as X is incremented by one
between the values of one and 10. During
each pass of the loop, the numbers X and
X-factorial will be printed. The FOR state-
ment in this example could have been
shortened to:
10 FOR X=l TO 10
since the step value was one.
Subroutines
When a particular sequence of statements
is to be used repeatedly in several different
places within a program, they may be
written as a subroutine. A subroutine is a
completely self-contained program accessed
Sample Program =1:
This program reads a group of numbers from a data block and prints the
average of the numbers read. The nun-
be i
9999 is used as a dummy item in the
data block to indicate the end of the data block. The individual numbers of the
data block are read until 9999 is found
Since all variables are initially set equal to
zero until assigned another value, th
=re
is no need to include a statement to
initialize S and C to zero (LET S=C=0).
Program
Explanation
10 REM print average of numbers
Remark
20 Read X
Read a number X
30 If X=9999, then 70
Check for end of data if X=9999
40 Let S=S+X
Add X to sum
50 Let C=C+1
Increment the data count C
60 Go to 20
Go back for more data
70 Print S/C "is the average of"
Compute and print average
C "numbers"
80 Data 5,7,3,9,27,54,31,9999
Data
90 End
End of program
by the main program or other subroutine;
using a subroutine calling convention.
In BASIC, subroutines arc entered (oi
called) by using GOSUB statements any-
where in the main program (or other sub-
routines) of the general form:
GOSUB line number
The GOSUB statement is similar to a GO TO
statement except the computer saves the
location of the GOSUB statement before
going to the subroutine. Statements are then
executed sequentially until a RETURN
statement is encountered. The RETURN
statement directs the computer to return to
the line following the GOSUB statement
that called the subroutine. It consists simply
of a line number and the word "RETURN":
I000 RETURN
and is usually the last line of a subroutine.
Subroutines may appear anywhere in the
main program but should only be entered
with a GOSUB statement and exited via a
RETURN statement. A subroutine may
actually contain several RETURN state-
ments as long as one will be used. By using a
GOSUB statement within one subroutine to
call a second subroutine, subroutines may be
nested. The level of subroutine nesting is
sometimes limited depending on the parti-
cular BASIC implementation used.
Example:
10 LET L=4
20 PRINT "THIS PROGRAM PRINTS"
30 GOSUB 1 90
40 PRINT "THIS MESSAGE WITH"
50 GOSUB I 90
60 PRINT "FOUR BLANK LINES"
70 GOSUB 190
80 PRINT "BETWEEN PRINTED
LINES."
90 GOSUB 190
100 REM Then the numbers 1 to 10 are
printed with the
I 10 REM number indicating the number
of blank lines
120 REM following that line.
130 FOR L=1 TO 10
140 PRINT L
150 GOSUB 190
160 NEXT L
170 PRINT "DONE"
180 STOP
190 REM Subroutine to print "L"
blank lines.
200 IF L>0, THEN 220
210 RETURN
220 FOR X=l TO L
230 PRINT
240 NEXT X
250 RETURN
260 END
This example illustrates how subroutines are
utilized and the use of multiple RETURN
106
top values,
professionalism
Computerland stores
are exciting, enjoyable
places to visit. From the
striking decor to the fun
and challenge of the
ComputerlandiM Game
room, you'll find
Computerland stores a
completely new
shopping experience.
You can count on
Computerland stores for
total professional
support whether your
needs are those of a
computer hobbiest,
education, science or
business user. The
skilled, management-
trained staff offers
knowledgeable service,
expert maintenance,
and software guidance.
breadth of
products
At Computerland stores
the emphasis is on
quality products. Major
brands like Cromemco,
DEC, Diablo, IMSAI,
Lear Siegler,
Polymorphic Systems,
TDL and Vector
Graphic to name a few.
Every store is
completely stocked with
tools, books and a
broad range of
accessories.
beginners
welcomed
Do you want to get
started with
microcomputers? Are
you seeking expert
guidance on computers,
peripherals, software?
The place to visit is
your nearest
Computerland.
now open:
• 4233 Convoy Street
• DeHart Street
San Diego, CA 92111
Morristown, NJ 07960
(201 ) 539-4077
• 50 East Rand Road
• 6840 La Cienega Blvd.
Arlington Heights, IL 60004
Inglewood, CA 90302
(213)776-8080
• 225 Elmira Road
• 813 B Lyndon Lane
Ithaca, N.Y. 14850
Louisville, KY 40222
(607) 277-4888
(502) 425-8308 '
• 16065 Frederick Road (Rt 355)
• 104 W. First Street
Rockville, MD 20850
Tustin, CA 92680
(301) 948-7676
(714) 544-0542
• 1612 Niagara Falls Blvd.
• 24001 Via Fabricante
Buffalo, NY 14150
Mission Viejo, CA 92675
(714)770-0131
opening soon:
• 22634 Foothill Blvd.
• Thousand Oaks, CA
Hayward, CA 94542
• Park Ridge, IL
(415) 538-8080
• Franchise Opportunities available
— Contact: Ed Faber, President
Computerland Corp.TM (415) 895-9363.
Circle 31 on inquiry card.
statements within a single subroutine. It also
shows how the line number of a REM
statement may be used in a GO TO, IF, ON,
or GOSUB statement as mentioned earlier.
Every time a "GOSUB 190" statement is
encountered in this example, the program
will go to the subroutine starting at line 190.
If the value of L is less than or equal to zero,
the computer will return to the main pro-
gram. Otherwise, the subroutine will print a
number of blank lines equal to the value of
L before returning to the main program.
Lists and Tables
In addition to the limited number of
simple variables, BASIC usually allows the
capability to designate the elements of lists
or tables. Simple variables arc called un-
subscripted variables while list or table
elements are called subscripted variables.
Subscripted variables may be used anywhere
an unsubscripted variable would normally be
used, except immediately after "FOR" in a
FOR statement or in a NEXT statement.
Several special matrix instructions and func-
tions will be discussed later.
The name of each list or table must be
designated by a single letter. The individual
elements of a list (also called a vector) are
specified by the list name followed by a
subscript in parentheses: A(0), A(1),
. . . A(n) while table (also called a matrix)
elements are specified by double subscripts:
B(1,l), B(l,2),. . . B(m,n). The subscript
form is flexible and may be either a constant
or any legal expression as long as the
Sample Program #2:
This program will determine
the
sma
llest and largest numbers of a given data
block and print the values.
The
first entry in the data block indicates the number
of entries to read from th
e data b
ock
(An alternative would be to use end of
data indicator.)
Program
Explanation
10 LetS=10E6
Set smallest number to something big
20 Read C
Get number of entries
30 Read N
Read data (once for each number)
40 If N >=S, then 70
Jump if larger than old smallest number
50 Let S=N
Set new smallest number equal to
this number
60 Go to 90
Continue (skip largest test)
70 If N<=L, then 90
Jump if smaller than old largest number
80 Let L=N
Set new largest number equal to
this number
90 Let C=C-1
Decrement data count
100 If C <> 0, then 30
If C not equal zero then continue
1 10 Print "largest number is
" L
Print answers
120 Print
With blank line
130 Print "smallest number
is" S
Between them
140 Data 8
Number of data entries
150 Data 2,7,42,74,21,61,47,29
Data
160 End
Program end
subscript value is not less than zero. The
single letter denoting a list or table name
may also be used as a simple variable without
confusion. The same letter may not, how-
ever, be used to denote both a list and a
table in the same program since a list is
actually a single column table.
Example:
10 FOR 1=0 TO 2
20 FOR J=0TO3
30 READM(IJ)
40 NEXT J
50 NEXT I
60 DATA 1,2,3,4
70 DATA 5,6,7,8
80 DATA 9,10,11,12
This example routine shows how a 3 by 4
table may be entered into a program using
elementary statements and how the table
entries are specified.
Storage space is automatically reserved
for any list or table with subscripts (typi-
cally) of 10 or less (the exact number
depends on the implementation). For larger
subscripts, space must be reserved by using a
DIM statement. A DIM statement may ap-
pear on any line before the END statement,
but it is normally placed at the beginning of
the program. A DIM statement may also be
used to reserve less space for a small list or
table when a large program requires more
program space.
The general forms of DIM statements for
lists or tables are:
DIM |listname] ( maximum subscript )
DIM | table name | ( maximum row
subscript, maximum column subscript )
Separate DIM statements arc not needed for
each list or table; several lists or tables may
be specified in a single DIM statement by
separating them with commas.
Example:
10 DIMV(15)
20 DIM M(20,20)
May also be written in a single DIM state-
ment as:
10 DIM V(15),M(20,20)
This example reserves space for 16 items in
vector V:
V(0), V(1), V(2), ...V(I5)
and 441 items in matrix M:
20 + 1 rows and 20 + 1 columns
Advanced Statements and Functions
This section will briefly introduce the
more advanced and specialized features of
BASIC. These features may or may not
be available in a particular BASIC implemen-
tation, whereas the elementary statements
and functions already presented should
always be found. Refer to the programming
manual for your particular BASIC inter-
108
ANY NUMBER OF FILES MAY BE OPEN (IN USE) AT ONE TIME
THE NUMBER OF FILES AND SIZE OF FILES IS LIMITED ONLY BY THE SIZE OF THE DISC
MERGING FILES REQUIRES NO EXTRA DISC SPACE
NO WAITING FOR THE DISC TO RE-PACK
LONGER DISC LIFE -MORE EVEN DISC WEAR
Our Basic Floppy Disc System (BFD-68) must, in all mod-
esty be called superb. It comes completely assembled with a
disc controller that is plug compatible with the SWTPC 6800.
In fact all our products use the 6800 standard SS-50 (Smoke
Signal 50) bus used by SWTPC. The cabinet and power supply
are capable of handling up to 3 Shugart Mini-Floppy Drives.
One drive is included in the price of the BFD-68 and others
may be added easily at any time. Or you may save money by
ordering the dual-drive BFD-68-2 or triple drive BFD-68-3 (pic-
tured). Price: BFD-68 $795, BFD-68-2 $1169, BFD-68-3 $1539,
SA-400 Drive $390.
The BFD-68 includes our Disc Operating System Software.
Our software provides for a soft-sectored disc format consist-
ing of 128 bytes per sector, 18 sectors per track and 35 tracks
per disc. The software provides direct commands to name and
rename files, transfer memory to disc and disc to memory and
to automatically jump to the starting location of any program
loaded from disc to memory. The direct command names are:
RUN, GET, GETHEX, CLOSE, SAVE, DELETE, APPEND, RE-
NAME, COPY, LIST, FIND, LINK and PRINT. In addition, the
Disc File Management subroutines are available to create files
under your program control.
A bootstrap PROM is included on the controller board to ini-
tiate the Disc Operating System which loads into a 4K memory
board located at 7000 or optionally at D000. Thus, you can be
up and running from a cold start in just a few seconds.
SUPER SOFTWARE
Free patches are provided for SWTPC BASIC version 2.0 and
Co-Resident Editor/Assembler. These patches allow the SAVE
and LOAD commands to work with the disc or the cassette at
your option.
SUPER EDITOR: Smoke Signal Broadcasting now has its
own editor. It is a content oriented editor with string search
and block move capability. Changes may be made by referring
either to line number or string content or a combination of
references. Naturally, it is designed for file transfers to and
from the BFD-68. Price: SE-1 $29 on diskette.
ALL OUR PRODUCTS EXCEPT THE PS-1 ARE COMPLETELY ASSEMBLED.
SUPER ASSEMBLER: Inputs source code from file on the
BFD-68 disc system and outputs object code to disc file. As-
sembly listings include alphabetized and tabulated symbol
table. Price: SA-1 $29 on diskette.
Complete source listing included for both editor and assem-
bler. Order both for $53 and save $5.
SMARTBUG-A CURE FOR MIKBUGITIS: A super smart
Motorola-Mikbug replacement that preserves almost all Mik-
bug entry locations so your present programs will run without
modification. Uses ACIA instead of PIA and includes many
additional features including a software single-step trace com-
mand. A SMARTBUG listing is included and object code is
provided on a 2708 free with each P-38 series board pur-
chased. Source listing available separately for $19.50.
NEED A FULL SIZE FLOPPY? Our P-38-FF is a plug-in inter-
face card to the ICOM Frugal FloppyTM. It includes all the fea-
tures of the P-38-1 plus one 2708 EPROM containing the ICOM
bootstrap software. Just plug the P-38-FF into your SWTPC
6800 and your ICOM into the P-38-FF and you're ready to
use the Frugal Floppy and ICOM's 6800 software package.
Price $299.
Our P-38 is an 8K EPROM board containing room for 8
2708's. Or, you may use it to hold up to 7 2708's plus your
Motorola Mikbug or Minibug II ROM. The P-38 addressing is
switch selectable to any 8K location. Price $179.
The P-38-1 contains all the features of the P-38 plus an inter-
face to the Oliver Paper Tape Reader and our EPROM Pro-
grammer. Price $229.
The PS-1 Power Supply Kit provides plus and minus 16 volts
required for the P-38 series boards. Also, it allows a wiring
modification to be made to the 8 volt supply that will increase
its output by one volt. Price $24.95.
Our M-16-A is a 16K single power supply STATIC RAM mem-
ory system. The M-16-A is fully buffered and requires only half
the power of a similar size system using low-power 2102's.
With the M-16-A, you can expand your system to 48K and still
have room left for one of our EPROM boards. The M-16-A is
switch selectable to any 4K starting address and hardware
write protect is included. Quick delivery. Price $595.
BANKAMERICARD, VISA AND MASTER CHARGE WELCOME.
P.O. Box 2017, Hollywood, CA 90028* (213) 462-5652
Circle 32 on inquiry card.
Sample Program #3:
This simple inventory program for th
ree
products illustrates the use of the ON
statement by reading an item code num
aer
followed by an item count from the
data block. The ON statement decodes
the
item code to determine what total to
add the new count to. When done, the
program prints all the current inventory
totals.
Program
Explanation
10 REM inventory
Program name
20 Read N, 11,12,13
Read data count and original totals
30 Read l,C
Read code and count
40 If l>3, then 130
Check for valid code
50 If I < 1, then 130
60 On I, go to 70,90,1 10
Decode item code
70 Let I1 = I1+C
Add to item #1
80 Go to 150
Continue
90 Let I2H2+C
Add to item #2
100 Go to 150
Continue
110 Let I3=I3+C
Add to item -.'3
120 Go to 150
Continue
130 Print "invalid item code"
Print error message
140 Stop
Exit program
150 Let N=N-1
Decrement data count
160 If N <> 0, then 30
Finish data
170 Print "item #1 =" 11
Print totals
180 Print "item #2=" 12
190 Print "item *3 =" 13
200 Print
Blank line
210 Print "total items =" 11 + 12+13
Combined total
220 Data 6,1020,1349,714
Original totals
230 Data 1,12,1,7,3,27,2,11,3,212,1
.
Data
136
240 End
Program end
Notice how this program checks for
an
illegal value before the ON statement.
An invalid item code causes a message
to
be printed and the STOP statement
terminates the program.
preter to be sure the desired functions
and/or statements are available.
INPUT Statement
The INPUT statement acts like a READ
statement except data is entered from the
console keyboard rather than from DATA
statements. Whenever BASIC encounters an
INPUT statement ii types a question mark
(?) to indicate it is waiting for operator
input. The user then types the desired input
as it would normally appear in a DATA
statement terminated by a carriage return.
INPUT statements are usually combined
with PRINT statements to indicate what
value is desired:
10 PRINT "NUMBER OF DAYS";
20 INPUT D
The semicolon at the end of the PRINT
statement causes the question mark to be
typed on the same line as the message.
Normally, the question mark would be
printed on a separate line. In this example,
the words NUMBER OF DAYS without
quotes would be printed followed by a
question mark. The number typed followed
by a carriage return would be assigned to the
variable D. The data entered via an INPUT
statement is not saved with the program so it
should only be used when entering small
amounts of data or data that is unknown
until the program is run.
RESTORE Statement
The RESTORE statement typically
permits reading data from the DATA state-
ments of a program more than once. When-
ever a RESTORE statement is encountered,
BASIC resets the data block pointer to the
first entry in the data block. The next
READ statement then starts reading the data
block all over again.
SIGN Function
The sign function:
SGN(X)
returns a value indicating the sign of the
argument specified. The value one is assigned
for any positive number, zero for zero, and
— I for any negative number.
Example:
SGN(2.75) = 1
SGN(0) = 0
SGN(-0.25) = -1
The sign function can be combined with an
ON statement to give a three way branch
depending on the sign of a number:
60ONSGN(X)+2,
GO TO 1 00, 200, 300
This instruction will jump lo 100 if X is
negative, 200 if X equals zero, or to 300 if X
is positive.
INTEGER Function
The integer function:
INT(X)
returns the greatest integer of X that is less
than or equal to X.
Example:
INT(2.98) = 2
INT(-2.05) = -3
INT(4) = 4
The integer function may be used to round
numbers to the nearest integer by adding 0.5
to the number:
INT(X+0.5)
It may also be used lo truncate a number lo
any specific number of decimal places (n):
INT(X*10**n+0.5)/(IO**n)
Random Numbers
Most forms of BASIC provide a means of
generating a random number between zero
and one. This function is generally used to
simulate events that happen in a somewhat
110
CP/M
LOW-COST
MICROCOMPUTER
SOFTWARE
i
CP/M is a low-cost control program for microcomputers which brings together
recent advances in computer and peripheral technology. CP/M is an advanced
disk operating system designed for use with IBM-compatible diskette-based
computer systems which employ the Intel 8080 microcomputer. Previously
available only to OEM's, CP/M has been in existence for over three years in
various manufacturers' products, and has undergone extensive field testing. The
functions of this software package include named dynamic files, program
editing, assembly, debugging, batch processing, and instantaneous program
loading, resulting in facilities similar to popular timesharing services. CP/M is an
"unbundled" software package which can be easily adapted to any 8080 orZ-80
computer system with at least 16K of main memory and one or two IBM-
compatible disk drives. The field-modification manual provided with CP/M has
been used successfully by many CP/M users in customizing CP/M for their own
hardware configurations.
Dl DJGJTflL RESEARCH
wBSm.. -Mm
Please send me the following:
□ CP/M Documentation (Complete set of 6 manuals) for $25.00.
D CP/M Documentation and CP/M System Diskette for $70.00.
□ Free CP/M brochure and price list.
□ Information concerning high level languages and optional packages.
NOTE: IMS Associates and Digital Systems distriPute CP/M with their hardware systems.
D Bank Americard No. Exp. date D Master Charge No. _
Exp. date D Check or M.O. enclosed.
California residents add 6% sales tax. Amount enclosed
Name Address
City
Dl DJOJTflL RESEARCH
State
Zip
Post Office Box 579 • Pacific Grove, California 93950
Circle 1 1 1 on inquiry card.
MAT READ a,b,c .
MATM = ZER
MAT M = CON
MATM = IDN
MAT PRINT a,b,c .
MAT INPUT V
MAT B = A
MATC= A+B
MATC= A-B
MATC = A*B
MATC = TRN(A)
MATC= (k)*A
MATC= INV(A)
Read the specified matrices
or vectors, dimensions pre-
viously specified.
Set all components of
matrix M equal to zero.
Set all components of
matrix M equal to one.
Set up square matrix M as
an identity matrix.
Print the specified matrices
or vectors.
Call for the input of a
vector.
Set matrix B equal to
matrix A.
Set matrix C equal to the
sum of matrices A and B.
Set matrix C equal to the
result of matrix B sub-
tracted from matrix A.
Set matrix C equal the
product of matrix A
multiplied by matrix B.
Set matrix C equal to the
transpose of matrix A.
Set matrix C equal to
matrix A multiplied by
the number k which must
be in parentheses and may
be given by a formula.
Set matrix C equal to the
inverse of matrix A.
Special MAT Functions. . . .
DET Equals determinant of a matrix after
inversion.
NUM Equals number of components following a
MAT INPUT.
Table 4: Matrix Special Functions of BASIC.
The addition of these matrix functions to
BASIC is one of the most common exten-
sions to the language's capability. For
engineering and scientific applications, such
functions are a virtual necessity.
random way such as a dice roll in a game.
The general form of the random function
reference is:
RND
with no argument needed. If a particular
BASIC implementation does require an argu-
ment, the number one is typically used:
RND(I)
To generate a random single digit integer,
the following instruction might be used:
40 LETX=INT(I0*RND)
If it is desired to generate a random integer
number between two limits, this instruction
may be used:
60LETX=INT(A*RND+B)
This instruction will generate an integer
random number between A and B, where A
is larger than B. Thus, to simulate a dice roll
for a game, with integers between 1 and 6,
use:
INT(6*RND+1)
To aid in debugging programs, the typical
BASIC RND function generates the same set
of random numbers in the same order each
time a program is run. In some implementa-
tions inserting a RANDOMIZE statement as
the first statement in a program using
random numbers, repeated runs of the pro-
gram will produce different results.
User Defined Functions
In addition to the standard BASIC func-
tions, some BASIC interpreters allow up to
26 additional functions to be defined with
the DEF statement. The name of the defined
function must be three letters, the first two
always being "FN" (eg: FNA, FMB, ...,
FNZ) and the DEF statement may appear
anywhere in the program. Each DEF state-
ment defines a single function and it can
contain any combination of other functions
and/or variables besides those denoting the
arguments of the function. Any variable that
is not an argument of a function will use its
current value in the program. For example,
to repeatedly use the function:
c*2 + 3X + Z
define the function:
DEF FNE(X) = EXP(X**2)+3X+Z
and then call for different values of the
function by:
FNE(2), FNE(A+B),ctc
The current value of Z is used each time the
function is called. Also, each defined func-
tion may have zero, one, two, or more
numeric variables as arguments of the
function.
Examples:
10 DEF FNA= 3.1.16*(R**2)
20 DEF FNB(X,Y) = (X+Y) / (X*Y)
30 DEF FNR(A,B,C,D) = FNB(A,B) +
FNB(C,D)
Multiple line defined functions are con-
structed by dropping the equal sign and
ending the function definition with a
FNEND statement. The function name with-
out arguments is used as a temporary vari-
able to compute the function's value. Multi-
ple line functions usually cannot be nested
and there must not be a transfer from inside
the function to outside its range, or vice
versa. Also, GOSUB and RETURN state-
ments are not typically allowed within a
multiple line defined function.
112
DataSync
DS-100
Educated
Terminal
^r- m
v
• • •
Internal microprocessor control for high reliability.
True word processing with character and line insert/delete.
24 lines by 80 characters on a full nine-inch screen.
Special individual function keys control the block screen send, screen protect,
forms mode, tabs, scroll up and down, print page, line centering mode, and
other modes.
A full cursor control key pad is included.
All switches are Cherry gold cross point for extra long life.
A full-function light pen attaches to the terminal for easy control of all dis-
played characters on screen.
Two serial RS232 ports transmit up to 9600 baud.
Tarbell format cassette interface reads and writes up to 4800 baud to and
from the screen or your computer.
All switches, including baud rate, parity stop, local-RS232 CRT controls,
and on-off are accessable from the front.
Weighs under 30 lbs. including strong ABS cabinet.
Terminal can also be used as a full word processor or text editor.
$695
Kit
$795
Assembled
DataSync 16K RAM
$298
Circle 34 on inquiry card.
Fast access, low power, dynamic RAM memory
board with transparent memory refresh. SI 00
bus compatible, expandable to 64K Bytes.
Assembled — —
Name
Address..
City
'Mail this coupon NOW for fast delivery ■
State & Zip .
□ DS-100 Terminal D Kit □ Assembled □ DS-16K RAM
Add $5 postage & handling in U.S. / Calif, residents add 6%.
□ Enclosed find check 01 money order for $=
□ Master Charge #
□ BankAmericard #
DataSync
201 W. Mill / Santa Maria, CA 93454 / 805/963-8678
Example:
10DEF FNM(X.Y)
20 LET FNM = X
30 IF Y = X, THEN 50
40 LET FNM = Y
50 FNEND
This example returns the larger of the two
argument values whenever the function is
called.
ASC (single character or mnemonic of nonprintable character)
Returns a decimal value for the ASCII code of the argument.
CHR$(numeric formula)
Opposite function to ASC, argument is truncated to an integer which becomes the
content of a one character string which is returned.
INSTR(numeric formula, string formula, string formula)
Searches for the second string within the first string. Search starts at character
position specified by the numeric formula truncated to an integer or at the first
character if omitted. Returns the position of the first character in the substring if
found, 0 if not.
LEFT$(string formula, numeric formula)
Returns a substring of the string formula, starting from the left. Substring
contains the number of characters specified by the numeric formula truncated to
an integer.
LEI\l(string formula)
Returns the number of characters in its argument.
Ml D$ (string formula, numeric formula, numeric formula)
Returns a substring of the string formula, starting at the character position
specified by the first numeric formula truncated to an integer. The substring
contains the number of characters specified by the second numeric formula
truncated to an integer, or the substring continues to the end of the string if the
second numeric formula is omitted.
RIGHT$(string formula, numeric formula)
Returns a substring of the string formula, starting from the right, containing the
number of characters specified by the numeric formula truncated to an integer.
SPACE$(numeric formula)
Returns a string of spaces, the length specified by the numeric formula truncated
to an integer.
STR$(numeric formula)
Returns a string representation of its argument (the number is converted to a
string).
VALIstring formula)
The opposite function of STR$. Returns the number represented by the string
formula (the string is converted to a number).
In addition to these functions, the CHANGE statement is used to convert between
strings and numeric data and vice versa as follows:
CHANGE [string formula] TO [numeric formula]
Changes the string specified to a numeric vector. The zero element of the vector will
contain the number of characters in the string and the decimal ASCII code of the letters
will be stored in the numeric vector. The statement:
CHANGE [numeric vector] TO [string variable]
changes the numeric vector to a string. The zero element of the vector must contain the
number of characters in the desired string.
Table 5: A "typical" set of string manipulation functions implemented in a
BASIC interpreter. This table lists functions found in the author's experiences
with BASIC on Digital Equipment Corporation computers; similar sets of
string functions are often implemented by other "extended BASIC"
interpreters.
Vectors and Matrices
Since operations on lists and tables occur
frequently, a special set of matrix instruc-
tions and functions are usually available in
BASIC. The list of typical MAT instructions
and functions plus a brief description of
their operation is found in table 4. Many of
the matrix statements require special condi-
tions to exist in order to be legal or may
allow operations on vectors as well as
matrices. While every vector has a zero
component and every matrix has a zero
column and row, these are ignored by MAT
instructions. Any numeric array referenced
in a MAT statement other than a MAT
INPUT, will be set up as a matrix unless
specifically declared as a vector in a DIM
statement.
Strings
So far, only operations dealing with
numeric information have been discussed;
but some forms of BASIC also process
alphanumeric information in the form of
strings. A string is a sequence of characters
including letters, digits, spaces, or some
other printing characters. In BASIC it
cannot, however, contain a line terminator
such as a line feed, carriage return, form
feed, or vertical tab. Strings are normally
enclosed in quotes (eg: "ANSWER") when
used as string constants, but may be omitted
in some instances.
Variables may be used for simple strings
and string vectors but not for matrices. Any
variable or vector name followed by a dollar
sign ($) stands for a string:
A$, B2$, orC$(l)
String variables or constants are used just as
numeric quantities in most BASIC state-
ments. However, numeric and string data are
kept in two separate data blocks and are
utilized independently of each other. The
RESTORE statement discussed earlier resets
both data pointers to the beginning of the
data blocks. A typical implementation trick
to reset only the numeric data pointer is to
use: RESTORE*, and use RESTORES to
reset only the string data pointer.
Table 5 shows some of the possible
functions for manipulating strings in BASIC
in some implementations.
Other Features
Many BASIC software systems, especially
large time sharing systems, sometimes allow
special operations involving data files and
special formating of data. An example is the
PEEK and POKE facility which is used in
Altair BASIC for bit level manipulation. It is
114
always best to refer to the BASIC program-
ming manual for the particular implemen-
tation being used as I have pointed out many
times before. Always check what features
are offered and how to use them, since they
can vary drastically from system to system.
There may also be special editing or
operating commands available depending,
again, on the system used.
In Closing . . .
Now that the general statements and
functions have been discussed and some of
the more advanced features have been intro-
duced, the best way to actually learn the
BASIC language is by hands-on experience.
Find a system with BASIC, check the
available BASIC features, then start with
small, simple programs. In no time at all you
should be able to program almost anything
desired. BASIC is an extremely easy lan-
guage to learn and use so don't let the term
"HIGH LEVEL LANGUAGE"
frighten you away. Look for future articles
on programming techniques, games, and
applications as BASIC becomes available for
more and more microcomputer systems.
BASIC programs should be very easy to
reproduce and convert for various specific
systems, including microcomputers."
What's
New?
A New Microcomputer Series from
CGRS
CGRS Microtech Inc, POB 368,
Southhampton PA 18966, has an-
nounced a new line of microcomputers
called the 6000 series which are all
Allah' bus compatible and based on the
Mos Technology 6502 microprocessor.
The Microputer I is a 3 board tutorial
system featuring 256 bytes of pro-
grammable memory for $229.95. The
Microputer II includes 2K bytes of
programmable memory with room for
up to 4 K bytes of erasable read only
jwaoH
-'*9^*frfamt*PlWW&*~''
3N$ .
Teach your System to
type with a
IYFEAWAY
Selectric I/O Writer
interface
Interface any Selectric I/O Writer
to S-100 computers with a TYPE-
AWAY Selectric I/O Writer Inter-
face.TYPEAWAYis compatible with
any model 731 or 735 I/O Writer,
including versions with correspon-
dence or BCD coding, 24 or 48 volt
solonoids, and common anode or
common cathode diodes. TYPE-
AWAY is a complete package of
everything needed to interface any
model 731 or 735 I/O writer to an
S-100 computer, including;
* S-100 compatible PC board with
solonoid drivers, input ports,
and PROM memory.
* Complete cables and connectors
* Power supply for 24 or 48 volt
systems.
Optional word processing software
is also available.
Add professional, economical hard
copy to your S-100 system with an
IBM Selectric I/O Writer and a
TYPEAWAY interface.
Prices
Kit $225
Assembled 325
Documentation 25
Call toll-free anytime to
place credit card orders:
800/648 5311
MQC^OMATOM
MICROMATION INCORPORATED
524 UNION STREET
SAN FRANCISCO, CA. 94133
415/398-0289
115
Circle 35 on inquiry card.
memory. The price is $389.95. The most
sophisticated system in the series is the
Microputer III, a complete microcom-
puter system upwards compatible with
the first two systems. Contact the manu-
facturer for further information."
Circle 572 on inquiry card.
'fY£hon
Breadboards Available for PDP-1 1 and
PDP-8/A Users
ADI
306
ACI
316
SUE
326 ,
SSI
336
AM
346 i i
XRE
356
ORI
366
CPI
376
POP B 3C1
POPD J?l
POPH 341
POP PSW 361
PUSHB i'^
PUSH 0 325 '
PUSH ti :«!>
PUSH PSW 360
ST AX a 002 .
LDAXB 012
STAX 0 022
Uncond
A*0
A = 0
Cy = 0
Cy= 1
Prty = Odd
Pit/ = Even
Bit 7 = 0
1
I Ul SPQ61
DAD SP071 RrGISTFR FAIR
1MX SP063 OPERATIONS
OCX SP 073
NOP
000 1
HLT
166
OUT
323
IN
333
067
077 j
:"H'-'.
SUB f.1 22li
SBB H2M MATH & LOGICAL
OPERATIONS
M 2JG
1.1 26G
ALL FLAGS ArFLCTIO
Attention Individuals, Clubs and
Computer Stores: An 8080 Octal Code
Card Is Now Available
Tychon Inc has announced this new
8080 Octal Code Card. The code card is
i ""> M06.1
OCR ,,I0C5
MV! M06G
MOV A M176
»O»0 M10G
move mug
MOV 0 ,,, 126
'■'OVE M136
MOVH Mi.,6
HOVL U156
I WO' l« M 1G6
i ONLY CARRY AFFECTED
l
^
Douglas Electronics has announced
the availability of a complete line of
breadboards designed to be compatible
with Digital Equipment Corporation's
PDP-11 and 8/A minicomputers.
The glass epoxy boards, which feature
electroplated solder circuits and gold
connector tabs, come in a variety of
configurations and options which in-
clude extender boards with sockets, wire
wrap boards and breadboards for custom
logic circuitry. Contact Douglas Elec-
tronics Inc, 718 Marina Blvd, San
Leandro CA 94577.
Circle 573 on inquiry card.
"We may have the surplus
electronics
you need!"
Terminal/Keyboard
With Schematics
S250.00
• CRT Terminals
•Assemblies
Tape Drives $800.00
• Peripherals
• Components
Keyboards S40.00 to $60.00
(ASCII Encoded)
Equipment Cabinets $45.00 to S60.00
(19" With Fan)
Send for a free catalog or call
Bill Blaney, toll free 800 258-1036
in NH 603-885-3705
(i¥l Come to our showroom
wufLdwiqe ELECTFiunicajric.
10 Flagstone Drive, Hudson, New Hampshire 03051
a slide rule like aid for programming and
debugging 8080 software in octal nota-
tion. It contains all the mnemonics and
their corresponding octal codes. The
instructions are all color coded to indi-
cate which flags are affected during exe-
cution. The pocket sized card measures
6.5 by 3 inches (16.5 by 8 cm) and it
provides the instructions in a neat,
logical format for quick reference.
The back side of the card is printed
with an ASCII code chart for all 128
characters plus the 8080 stalus word and
register pair codes.
Delivery of the 8080 Octal Code
Card is immediate and the price is $2.95
postpaid. Quantity discounts start at ten
units, and custom imprinting is also
available. According to Tychon, a hexa-
decimal version of the card will be
available in the near future.
For further information write
Tychon Inc, POB 242, Blacksburg VA
24060.»
Circle 574 on inquiry card.
A New Way to Do Slit-N-Wrap
Vector Electronic Company, 1 2460
Gladstone Av, Sylmar CA 9 1 342, has
just sent along this photo of a neat new
addition to their line of Slit-N-Wrap
tools, the P160-4T1 pistol gripped
/
3
110 VAC powered wrapping tool. This
$80 tool will accept the PI80
Slit-N-Wrap tool bit, or a standard wire
wrapping attachment in the form of the
P160-2A wrapping bit. While Slit-N-Wrap
can be done by hand, it becomes much
more convenient when it is powered as
with this tool. (Because the Slit-N-Wrap
technique requires no stripping of wire,
it tends to be somewhat faster than
standard wire wrap as a matter of course,
Circle 36 on inquiry card.
116
since the lool is always held in one's
hand and is never pul down for the
stripping operation as in wire wrap with
reel wire.)"
Circle 575 on inquiry card.
IMSAI Brochure and Catalogue
A beautiful four color brochure out-
lining the IMSAI product family came
our way recently. In the same package
was the current price list of this family
of computers and computer products,
which may be inspected at many local
computer stores. A full catalog is also
available according to the brochure, at a
price of $1. Write IMSAI Manufacturing
Corporation, 14860 Wickes Blvd, San
Leandro CA 94577."
Circle 576 on inquiry card.
Altair Bus Floppy
Synetic Designs Company, POB
2627, Pomona CA 91 766, has sent along
this picture of their new "ready to use"
disk system for Altair compatible 8080
based computers. The product is called
the FDS-2, and it employs iCOM
standard size floppy disk drives. The
total package includes the iCOM execu-
tive system, text editor and assembler
for the 8080, plus the custom "executive
handler" provided by SDC to allow
user-specific attributes of the executive.
From one to four drives may be attached
to the controller, with two drives shown
in this photograph. Maximum on line
capacity with four drives is just over
1 Mb. The recording format is IBM 3540
and 3740 compatible to allow transfer of
data to and from other computer
systems on floppy disk cartridges. Files
may contain source data, program object
data or user generated data. The drive
may be seen at Computer Mart of New
Jersey and other stores nationwide.
Delivery is quoted as three weeks ARO
lor small orders; price was not quoted in
the press release materials."
Circle 577 on inquiry card.
■o
3
ANNOUNCING
Z80
SEMINARS
AUGUST 22-26
(the week preceding the Atlantic City convention, PC 77)
CHOOSE FROM ONE OF THE
7 FIVE DAY d r% EVENING
SEMINARS " ^SEMINARS
BRING THE WHOLE FAMILY
(Recreation Facilities Available)
REASONABLE
Individual/Family Rates for a limited number at the college
on a first come, first served basis
TRANSPORTATION
available to the ATLANTIC CITY CONVENTION
Software courses (DAY)
Programming in Basic for the r'C owner.
An Introduction m the Mask language. From beginning t<> writing application
programs. Emphasis tin TDIs (IK and I2K Bask fat the 780. Includes inlro l<>
TBI's FORTRAN, S199
Assembly Language Programming (or the Z80 8080
An introduction to assembly language programming. First (.overs bobo
instructions mil then brandies into the extra instructions available for the
Z-B0. Includes inlro to TOL's /-B0 Monitor and Macro-Assemhier and also
covers applications in interfacing and control. S249
Advanced Assembly Language Programming for the Z-80
For someone who knows the HOBO. Covers added 7-80 instructions and how to
gel the most out of them. Imphasis on use of TDl's Macro- Assembler.
Application to digital Ingii replacement and process control. S2!t!)
FORTRAN IV
An introduction to the FORTRAN language. From beginning to writing of
application programs. Emphasis on TDL's ANSI standard FORTRAN IV for the
Z-flO. $289
Word Processing with a Text Editor and Formatter
Introduction to the use of the Tent Editor and Text Output Processor for
achieving basic word processing capabilities. Emphasis on TUL's Text Editors
and Text Output Processors, familiarization with system requirements, $299
Hardware courses (DAY)
Introduction to Hobby Computing
A survey course dealing in an exploration of the Hobby computing field and
delining the basics needed to lie understood in order to gel started. Sinn
Digital Logic Circuits
Instruction in digital logic circuits covering the 7400 TTL and the CMOS series.
Codes, registers, counters, memory, combinatorial logic, etc $199
Evening Workshops
How to Setup a Computer Store
Guest lectures from owner operators ol computer stores and microcomputer
manufacturers. How tQ become a dealer. How Id get a franchise. How to
operate a business, How In set up a service facility... and more. $99
Kit Building Lab
Instruction and guidance on kit building. Bring your kits! SPECIAL: Anyone
taking delivery on a TDl product during the course (must be ordered in
advance-) will receive this workshop FREE. Others pay only... $49
SPONSORED jointly by
TECHNICAL DESIGN LABS, INC. (TDL)
Princeton, N.J. and
TRENTON STATE COLLEGE
Trenton, N.J.
For registration forms and brochure write:
Z-80 SEMINARS Office of Continuing Education
TRENTON STATE COLLEGE TRENTON, NEW JERSEY 08625
Art
by
Duane
Bibby
How Far — Which Way?
Rene E Pittet
WMU Physics Dept
Kalamazoo Ml 49008
Assisted by M Davidson
a) ARC SIN X = X
Did you know that your computer can
answer the questions of how far and which
way for you in microseconds for macrodis-
tances? At least my SWTPC 6800 can with
its 8 K BASIC high level compiler language.
The usefulness of this program will be
apparent to anyone who sails a boat or flies
an airplane. By inputting longitude (degrees
and minutes) and latitude of the starting
point first, and the destination second, the
program will print out the distance in statute
miles, or nautical miles with a minor change,
and the true bearing. Look up the variation
of magnetic north in your area and add that
correction for a magnetic compass heading;
or better yet, add it into the program.
The program of listing 1 is offered as a
1 , 1x3 c 1x3x5 1x3x5x7 n
- x3 + : — X5 + : = = X7 + : ; — X9
2x3
b) ARC SIN X = X + +
6 40
2x4x5
5 x X° 1 5 x X '
2x4x6x7
2x4x6
336
105 x XB
3456
radians
Figure 7 : A series expansion of the ARCS IN function, as found (above) and
as evaluated partially for use in the expression in listing I at lines 158 and
160 of the program.
model to start from and can be modified or
elaborated on according to the wishes of the
user. It is based on what is known to
cartographers as a Lambert Conformal Conic
Projection map. This type of map uses a
fixed reference point in its projection, so the
method is less accurate the farther north or
south you go, into Canada or Alaska for
example, from the reference point in the US.
However, it will be quite accurate within a
restricted area such as that covered by an
FAA aeronautical regional or sectional chart.
The requirement for this program grew
from my Civil Air Patrol activities when we
search for downed aircraft (a true hardware
crash) and send rescue teams out to find
them. Usually we have an airport to start
from and grids to search in by air. The
downed aircraft is spotted visually or by
reception of a signal from its emergency
locator transmitter (ELT). If found, its coor-
dinates are radioed back to the mission
coordinator. He then dispatches the ground
teams to the rescue and here is where the
questions "how far?" and "which way?" are
answered by the computer.
The routine uses the trigonometric solu-
tion of a right triangle to determine the
distance (hypotenuse) and direction (arcsine
118
of X). The sides of the triangle X5 and Y5
are the differences between the two sets of
coordinates of longitude and latitude.
To explain the program a little, notice
that the ARC SIN X is a special subroutine
which had to be created since ARC SIN,
ARC COS and ARC TAN functions are not
included in SWTPC 8 K BASIC. This ARC
SIN X function is performed by use of the
trancendental formula shown in figure 1a
which is reduced to the equation of figure
lb. The formula, translated into BASIC, is
shown on lines 1 58 and 160 of listing 1.,
Since the ARC SIN X formula above is
less accurate from 45° to 90°, we switch and
use 90° -COS of the complimentary angle of
the right triangle and get the same resolution
as when the angle is 0° to 45 . This is
written in BASIC in lines 155, 163 and 168
to 175. Also, notice that in lines 58 and 59 a
very small number (l.E-9) was added to the
two sides X5 and Y5 of the right triangle
X5, Y5, D. This extremely small error
eliminates the problem of dividing into zero
at the 90°, 180°, 270° and 360° points of
the compass when one or the other of these
sides of the triangle are zero. SWTPC 8 K
BASIC doesn't like zeros in your math
formulas.
In line 60 the hypotenuse of the triangle,
D, is multiplied by 1.1516 to get statute
miles. This conversion factor assumes that
your calculations have been in British nau-
tical miles which have 6080 feet to the mile.
If your calculations have been in American
nautical miles, with 6076.1 1 5 feet to a mile,
the conversion factor would be 1.1508.
In lines 50 and 54 the numbers 44.89 and
74.82 were derived from the ratio of nau-
tical British miles per degree of longitude
versus latitude in the northern hemisphere at
about 43° north latitude. In other parts of
the globe, farther north or south, it would
be advisable to recalculate to maintain accu-
racy. (The distance of one degree of longi-
tude gets smaller and smaller as you go north
or south from the equator.)
To correct for the magnetic variation in
your area add the degrees of correction at
lines 162 and 174. For example, if the
aeronautical chart shows 3° west variation,
then add +3 to R5's value.
One last comment: the latitude and longi-
tude are entered as a decimal number. The
digits to the left of the decimal are degrees
and to the right, minutes; seconds are not
used. The program sorts it all out and
understands what you are inputting by using
the INTEGER functions in lines 50 to 56.
Try it for aircraft flight planning or a
sailing trip in large bodies of water, then
check the accuracy by actual measurement
on an aeronautical chart."
PRINT " "
LINE = 64
PRINT "TO COMPUTE DISTANCE & DIRECTION"
PRINT
PRINT "ENTER LONGITUDE (XX. XX) AND LATITUDE (YY.YY) OF BOTH PLACES:
PRINT
PRINT "ENTER X1, Y1"
INPUT X1, Y1
PRINT
PRINT "ENTER X2, Y2"
INPUTX2, Y2
DIGITS = 2
28 GOSUB 50
36 PRINT
PRINT " - "
PRINT
44 PRINT "TRY ANOTHER SET "
46 PRINT
47 GOTO 18
48 STOP
50 X3 = 44.89*INT(X1)+74.82*(X1-INT(X1)I
Y3 = 60*INT(Y1) + 100*(Y1-INT(Y1))
X4 = 44.89*INT(X2)+74.82*(X2-INT(X2)I
Y4 = 60*INT(Y2) + 100*(Y2-INT(Y2))
X5= (X3-X4)*SGN(X3-X4) + 1.E-9
Y5 = (Y3-Y4)*SGN(Y3-Y4) + 1.E-9
60 D = 1.1516*SQR(X512+Y5t2)
61 PRINT
GOSUB 150
PRINT "DISTANCE = ";D
PRINT "(STATUTE MILES)"
PRINT
IF X4>X3 THEN 74
IF Y4>Y3 THEN 84
GOTO 88
IF Y4 Y3 THEN 80
PRINT "TRUE BEARING = ";270-R5," DEG'S"
RETURN
,;270+R5;" DEG'S"
00
05
10
12
14
16
IS
20
22
24
26
27
38
42
52
54
56
58
59
62
63
64
65
68
70
72
74
76
7f
80
82
84
86
88
90
PRINT "TRUE BEARING = '
RETURN
PRINT "TRUE BEARING =
RETURN
PRINT "TRUE BEARING - '
RETURN
;90-R5," DEG'S"
;90+R5;" DEG'S"
150 REM ARC SGN X SUB-ROUTINE
154 S = Y5/D
155 C = X5/D
158 81 = S+(Sr3/6) + (3*SI5/40) + (15*St7/336)
160 S2 = 105*SI9/3456
162 R5 - (S1+S2)/. 017453293
163 IF R5>45 THEN 168
164 PRINT
166 RETURN
168 CI = C+(C13/6> + (3*C 5/40)
170 C2= (15*CI7/336) + (105*Cf9/3456)
172 R4 = (C1+C2)/. 017453293
174 R5 = 90-R4
175 GOTO 164
TO COMPUTE DISTANCE & DIRECTION
ENTER LONGITUDE (XX. XX) AND LATI
TUDE (YY.YY) OF BOTH PLACES
ENTER X1, Y1
7 83.00
? 42.24 DETROIT CITY AIRPORT
ENTER X2, Y2
7 87.55
7 41.58 CHICAGO O'HARE
DISTANCE - 255.92
(STATUTE MILES)
TRUE BEARING = 264.16 DEG'S
TRY ANOTHER SET -
ENTER X1, Y1
Listing 1 : A BASIC program used to calculate range and bearing information
from navigational coordinates. (This program was typeset from a hand typed
listing of the original, which had been developed and debugged from a
computer sans hard copy.) In the sample printout, user input is preceded by a
question mark query.
119
NOW!!
Z- 80 Power for the S-loo
bus without getting ridof
your CPU card.
~>
$159.95
assembled
*>**tp±i ?"w4s4saia« * w.y
ZSC-80:
UU 1 IxLJiy ILiU a leader in low cost, low power ram boards has just announced it's Zj BO — oO
piggy back card. This plug - in board enables you to use your existing IMSA1, ALT AIR CPU card
and upgrade your system, to a Z — 80.
The card design is such that all, you do is pull out your 8080 and 8212 chips, plug in the Board
to the 8080 socket itself and the ribbon cable to the 8212.
A system monitor, on paper tape, is included with the board as well as a 280 Manual and Theory
of Operation Manual.
Dutronics will also supply all additional software at no cost, when it becomes available
The price is $159.95 (assembled) only. OFF THE SHELF.
^
BYTE OF PHILADELPHIA
1345 W. Lancaster Ave.
Rryn Mawr, Perm. 19010
(215) 525-7712
BYTE OF PALO ALTO
2227 El Camino
Palo Alto, Co. 94.306
(415) 327-8080
110B0KEN COMPUTER WORKS
20 Hudson Place
Hoboken, N.J. 07030
(201 120-1644
BYTE OF WESTMINSTER
14300 Reach Blvd.
Westminster. Ca. 92683
(714)894-9131
BYTE OF SANTA CLARA
3400 El Camino Real
Santa Clara, Ca. 95051
(408)249-4221.
for more information call or write to
R.H.S. MARKETING
2233 El Camino Real
Palo Alto, California 94306
(415)321-6639
DEALER INQUIRES INVITED
BofA & MASTERCHARGE ACCEPTED
~J
16384 BYTES for $485.00
assembled (with sockets) : tested - burned-in - guaranteed
A new high in S100 bus memory cost effectiveness,
(with sockets), tested, burned—in and guaranteed,
memory chips (the same ones used by the ton in IB
ible memory systems ) combined with self containe
logic, yield a memory system with:
• Low power consumption, total board 5 watts.
• Transparent refresh, which means the
memory looks static to the outside world.
• No waiting. In fact, xrdy is not even con-
nected to the memory.
• Full DMA capability
• Reliable, low level clock and control
signals.
Dynabyte
UyTlQsUy 16 brings to the S — 100 Bus a state of the art, industrial quality memory system.
J6K on a single board for $485.00, Guaranteed for 1 year.
J
BYTE OF PASADENA
496 So. Lake Ave.
Pasadena, Ca. 91109
(213)684-3311
BYTE OF SANTA CLARA
3400 EI Camino Real
Santa Clara. Ca. 95051
1408)249-4221
BYTE OF WALNUT CREEK
2989 N. Main St.
Walnut Creek. Ca. 94596
(415)933-6252
BYTE OF SAN MATEO
1200 W. Hillsdale Blvd.
San Mateo, Ca. 94403
(415) 341-4200
BYTE OF PALO ALTO
2227 El Camino
Palo Alto, Ca. 94306
(415)327-8080
for more information call or write to:
R.H.S. MARKETING
2233 El Camino Real
Palo Alto, California 94306
(415)321-6639
DEALER INQUIRES INVITED
BofA & MASTERCHARGE ACCEPTED
Circle 37 on inquiry card.
Add Cursor Control to Your TVT II
Brother Thomas McGahee
The Salesian Center
80 S Sixth St
Columbus OH 43215
If you own a TVT II and would like a
simple circuit to provide for operation of the
cursor and erase functions, then consider the
circuit shown in figure I. This simple circuit
will accept ASCII control characters and
decode them in a manner suitable for con-
trolling all of the cursor control and erase
functions, and it even has a few outputs that
can be used to provide user defined func-
Figure I: Diagram for the TVT II cursor controller. ICI is a 4 to 16 line
decoder that will select which control command is wanted. Transistor Qi is in
the circuit to make it compatible to the Southwest Technical Products' screen
read and UART boards. Diodes D1, D2 and D3 are in the circuit to protect
ICI when it is connected in parallel to the output of a gate on the main
TVT II board. IC2 is wired as a one shot to activate the Sonalert when a
control G is pressed.
tions, such as enabling external devices or
turning on bells and whistles.
In the version presented here several
functions are provided, including home,
erase to end of line, erase to end of frame,
cursor up, cursor down, cursor left, cursor
right, and bell. In addition there are five
other unused codes that may be assigned any
way you wish. Control | and M are unused,
since the TVT II already decodes these as
carriage return and line feed.
How it Works
IC1 decodes the incoming ASCII char-
acter, and selects one of its 16 outputs to
go to logical zero whenever bits 5, 6 and 7
are all logical zero. The TVT II data lines are
J4 [D>-
+ 5V
J4 [9>
J4 [8>
B2
BITS ;
J4 [0s—
J4 n>
B4
BIT5 J4 [5>-
GND
J4 [2>
IN914(3)
ICI
74154
4
6
7
8
II
12
14
GND l5
H4
-TX> J3
-[F>J3
H*
12
ENABLE IF 0
-HC
CI
lOOpF
Rl
2.2K
I VW-
R2
IK
-U> J3
-n> J3
-G>J3
-Q[> J3
-E> J3
:o
nR3
IOK
tK
C2
iocyF
B VCC PRINT CEXT
-<6~1 J3 -
-<J0] J3
COMPUTER
CURSOR SIGNAL"
01
2N2222
IC2
74121
REXT
CEXT
R4
IK
m
MALLORY
sc-s
SONALERT
02
2N2222
CURSOR CONTROL EQUIVALENT LOGIC:
Oi
•/ SIGNAL
I
-» TO ICI PIN 18
-0 IF B6- B7- 0
J3 AND J4 ARE PART OF THE TV-H MARKETED BY
SOUTHWEST TECHNICAL PRODUCTS CORP.
122
ASCII
IC1
Binary Code
Keys
Function
74154 pin
0000000
Null
X
1
0000001
Ctrl A
X
2
0000010
Ctrl B
X i
3
000001 1
Ctrl C
X
4
0000100
Ctrl D
Down Cursor
5
0000101
Ctrl E
X
6
0000110
Ctrl F
Erase to end of Frame
7
0000111
Ctrl G
Bell
8
0001000
Ctrl H
Home
9
0001001
Ctrl I
X
10
0001010
Ctrl J
Line Feed
11
0001011
Ctrl K
Right Cursor
13
0001100
Ctrl L
Erase to end of Line
14
0001101
Ctrl M
Carriage Return
15
0001110
Ctrl N
Up Cursor
16
0001111
Ctrl 0
Left Cursor
17
How To Remember
D and Down are easily mnemonically related.
F and Erase EOF are easily mnemonically related.
G is the standard bell function in ASCII.
H and Home are easily mnemonically related.
K was chosen for Right not so much because it was desirable so much as the fact
that it was the least undesirable. A, B and C are commonly used program con-
trol commands. J and M are used for carriage return and line feed. This leaves
us with only E, I or K. I chose K and use the mnemonic K for Kontinue.
L and Erase EOL are easily mnemonically related.
While N is not mnemonically related to Up, it was chosen since many keyboards
have an upward pointing arrow above the N.
O is not mnemonically related to Left but was chosen because many keyboards
have a left pointing arrow above the O.
Table 7 ,' This table summarizes the inputs to and the outputs from ICJ. Along with the desired keycode is given the binary input
to IC1, the output pin that is enabled, and the function that it is wired for according to the circuit of figure I. At the right is an
explanation of the alphabetic mnemonic that is used to remember the correct key to cursor command code. Note that with the
exception of the bell, line feed and carriage return commands, these functions are not standard ASCII functions.
IN270
14 OTO CONTROL KEY
-M o
ALPHABETICAL KEY
Figure 2: Simple circuit to add control keys to a keyboard. The new key is
wired to both the control key and the alphabetical key. The diodes are
needed to isolate the keys from each other.
labelled from I lo 7 by SWTPC. Bit 5 is
routed lo Id's G2 input, and the Gl input
of Id is fed from the TVT 1 1 "computer
cursor" signal, which is zero whenever bits 6
and 7 are both logical 0. Bits I to 4 are
applied to the A, B, C and D inputs of Id.
Whenever one of the first 16 control char-
acters is detected, one of the decoder's
outputs will go to logical zero.
You will notice that some of the outputs
are connected to diodes. This is to protect
the output of Id when it is connected in
parallel with the output of a gate on the
main TVT II board. You could use an open
collector version of this decoder integrated
circuit, but I chose to use a 74154 because
they are readily available at low cost. I have
IN914 diodes on my unit, and have not had
any problems. A germanium type, such as a
1N270 might be a better choice, but I
simply used whatever I had on hand.
Ql is included in the circuit so that this
circuit will be compatible with SWTPC's
screen read and UART boards. It provides
logic to advance the cursor when told to do
so by the other boards. IC2 is a one shot set
up to handle the bell function. A control G
will cause a low going pulse at its Al input.
It will then stretch the pulse for a second or
so to drive the Sonalert, or whatever you
wish to use as a bell function. There are
several other outputs from Id that can be
used to initiate other bells and whistles in
a similar manner. The J numbers in figure I
refer to the connector plugs on the main
TVT II board.
Table I is a listing of the 16 outputs
and their function assignments. An "X" in
the table indicates a free function waiting to
be implemented. A mnemonic explanation
of the functions at the right of table I helps
when using the keyboard. If for any reason
you wish to change which control keys
perform which functions, just wire to a
different output pin on Id.
If you are using a diode encoded key-
board, you can add cursor control and erase
keys quite easily, if you already have a
control key. All you do is connect each
cursor or erase key as shown in figure 2. The
diodes serve to isolate the keys. Whenever
the key is depressed it will simultaneously
activate both the control and alphabetic
keys. You can add as many of these type
keys as you need. While you are al it, you
may wish to add a calculator type array of
switches for numerical entry. You simply
wire them in parallel with existing numerical
keys; no diodes needed. This will consider-
ably speed up the entry of numerical data."
123
(Jlsssifietf Ads
WILL TRADE: AKC Samoyed puppy or stud
service for computer (or related) hardware, BASIC
software, or texts of interest. Contact G Frank
Humiston, 506 Wayne Av, El Cajon CA 92021 .
FOR SALE: Complete Wang computer system
CPU (Model 2200A) contains 12 K RAM expand
able to 32 K. BASIC is resident in 20 K ROM
CRT/tape drive (Model 2216/2217) in one console
12 inch diagonal 64 character by 16 lines screen
Drive is fully under program control. Alpha
numeric keyboard (Model 2222) with separate
numeric key pad and 32 special function keys.
Commercial quality equipment excellent for small
business application. All for $4,500 or trade (new
at $9,300). Write or call for data sheet. Al Leung,
POB 5272, Redwood City CA 94063, (415)
364-6746.
HELP: I found some partially assembled electronic
equipment and other items for Four-Phase Systems
tnc sync modem monitor two summers ago in the
Flaming Gorge National Recreation Area UT. I
have been unsuccessful in tracing the owner. To
claim, let the owner identify the equipment in full.
Jay Radavich, 120% S Polk, Moscow ID 83843.
FOR SALE: MOS Technology Inc KIM-1 with 1 K
homebrew 2IL02 RAM. Power supply: three each
+5 V at 1.5 A, 1 each -5 V at 0.5 A, 1 each at
+12 V 0.5 A, 1 each at -12 V 0.5 A. Serial adaptor
board, SAD-1 (checked out on a CT 1024, works
OK), wood case, extra 22 pin connectors with two
extra on case, cross assembler manual, TIM man-
ual. Please monitor with tape and books. Tiny
BASIC with tape and hexadecimal list, 10 each
Memorex, 30 minutes each side with programs.
$330 takes all. Robert G Lloyd, 7554 Southgate
Rd, Fayetteville NC 28304, (919) 867-5822.
WANTED: To buy, for personal use only. Tested
programs for business applications, business games
and simulations. Micro BASIC or IBM 360 BASIC/
FORTRAN IV. Doug Gilson, #72 University Ter,
Columbia SC 29201.
WANTED: Young student with small budget wants
back issues of BYTE, Radio Electronics, Popular
Electronics, and computer and electronics books
(at list price or less plus postage). Will buy or trade
with back issues of Popular Science or Popular
Mechanics. (I have them back to 1932.) Contact
me at the next meeting of SDCS or write Victor
O'Rear, POB 1388, La Mesa CA 92041.
FOR SALE: IMSAI one UCRI cassette board $39,
one 8080 processor board $160, one 4 port parallel
IO board $140, one 2 port serial IO board $140,
two parallel board cables $20 each, two serial
board cables $15 each, one SWTPC PR-40 printer
$240, one Oliver Audio paper tape reader $60, one
DC-50 MHz RF generator $200, one Motorola
PT-300 Handi Talkie $250, one Software by Scelbi
SCELBAL higher level language $35, one 8080
assembler $20. All boards fully assembled and
guaranteed to work. Will ship COD UPS; you pay
the freight. Vance James, POB 2292, Hickory NC
28601.
Readers who have equipment, software or other
items to buy, sell or swap should send in a clearly
typed notice to that effect. To be considered for
publication, an advertisement should be clearly
noncommercial, typed double spaced on plain
white paper, and include complete name and
address information. These notices are free of
charge and will be printed one time only on a space
available basis. Insertions should be limited to 100
words or less. Notices can be accepted from
individuals or bona fide computer users clubs only.
We can engage in no correspondence on these and
your confirmation of placement is appearance in
an issue of BYTE.
Please note that it may take three or four
months for an ad to appear in the magazine. ■
NEEDED: BYTE issues volume 1, numbers 1 to
10. Must be complete, and preferably in at least
good condition. High quality Xerox reproductions
may be considered (if BYTE doesn't mind). For
Xerox, please forward a sample reproduced page.
T Mishler, 5914 Glenn Av, Flint Ml 48505,
FOR SALE: CRT terminal, 3 month old Micro-
Term ACT-1 with 9 inch Sanyo monitor. 16 lines
of 64 characters, autoscroll, 110, 300, 600, 1200,
2400, 4800, 9600 bps, RS232C or current loop.
Modified for direct display of typed data. All
documentation. $495 includes shipping. Bob
Ripley, Rt 3, Fayetteville AR 72701. (501)
267-3172 evenings.
FOR SALE: To highest bidder, all issues of BYTE
magazine published to date, in mint condition. Will
not break up collection. Only highest bidder will
be notified. Send offers to David Hicks, 1711 E
Willow Ave, Wheaton I L 60187.
WANTED: Technical info on SR-52. Labels, for-
mat and signal levels of interconnection pins to
printer, card reader data format and recording
technique, IC pinouts, schematic, programming,
architecture, signal levets, voltages, anything that
will. help me interface it with a homebrewing Z-80
and/or reload program from an outside memory.
Will pay duplication costs or will buy a service
manual if available. Will work or exchange informa-
tion with anyone who has attempted to interface
this unit. Help. Jack Lambert, 5 Graham Rd,
Lexington MA 021 73, (617) 862-8490.
BYTE: Issues 1 thru 13 in good condition,
complete set for $39. Tom French, 404 Leeward
Lndg, Roswell GA 30076, (404) 993-1042.
WANTED: Back issues of BYTE. Need September,
October, November, December 1975 and April
1976. Also need December 1975 and January,
February, March 1976 of SCCS Interface. Send
your asking price to Dick De Nicola, 516 Devanah
St, Covina CA 91722, (213) 685-6307.
FOR SALE: Viatron 2111 Data Management
Center with Printing Robot and all manuals. Unit is
in operating condition, $700. Dan Wolf, c/o
Interglobal Photos, New York NY 10003.
FOR SALE: Southwest Technical Products TV
typewriter. Includes keyboard, 1 K of RAM, serial
interface board, power supply, cursor controls and
two page memory options wired. Mounted on a
metal chassis. Complete wired and in working
condition, $200. Webber Hall, 16967 Blanche PI,
Granada Hills CA 91344, (213) 363-2004.
FOR SALE: 7 track AMPEX FR400 Digital Tape
Handler; includes all motors, motor control cir-
cuitry, hubs, capstan, take up reel for 2400 foot
1/2 inch tape, complete documentation and parts
list. No read write electronics or manual control
panel. Best offer plus shipping for 160 lbs, about
19 by 17 by 17 inches. Paul Krieger, 2111 W lliff,
Englewood CO 80110, (303) 922-2385.
FOR SALE: Paper tape equipment. Two high
speed Digitionics 8 level paper tape readers 300
cps, stop on character, like new, $60 each. One 8
level paper tape punch, including all drive electron-
ics and interface to 8 bit micro, $75. Jim McCord,
120 E De La Guerra, Santa Barbara CA 93101,
(805) 963-8941.
FOR SALE OR TRADE for working or non-
working mini computer. SCR 826MA, Horizon 2,
Lampkin 105B, etc. Please write Dale Hutchinson,
10818 Brentway Di , Houston TX 77070.
FOR SALE: One 6502 KIM system with documen-
tation, $175. One 6502 MPU and 6530-004 TIM
with TIM manual, $45. Three 6530-005 RAM, 10
port combinations, $10 each. Eight 2102s, $12 the
lot, and two 61 1 1 A -4s, $6 for both. Miscellaneous
TTLs: 74100, 74150, 8202, 8416, S.50 each. I'm
house cleaning and hope someone can use these.
J Grina, 1233 Ray PI, St Paul MN 55108,
FOR SALE: SCM Typetronic 98/330 (CDC -9816)
2R/2P with Fron feed carriage. Includes control
unit IO printer, processor, two readers and two
V-punch united. Original cost $23,000. Best offer.
Mr Hepburn, Rockland MA, (617) 871-1790.
FOR SALE: MITS Altair 8800a. Assembled, facto-
ry tested. Includes: CPU card with 8080a, factory
assembled SIO-C (TTY) interface card, ACR (cas-
sette) interface card, factory adjusted to the new
MITS frequencies, two 4 K dynamic memory
cards, 12 total factory installed edge connectors
and card guides, switchable fan and MITS modified
power supply. Originally cost over $1400. Will sell
for $850 (or make me an offer). Call Craig Pearce
at (312) 484-5846 (7 to 10 PM, CST).
FOR SALE: Complete factory assembled Sphere
system: 6800 MPU, keyboard, CRT, PWR supply,
resident monitor in PROM, 4 K user memory, 2
cassette IO. Asking $1000, or willing to trade for a
working IBM 1620. Bob Wada, 12812 Court St,
Garden Grove CA 92641, (714) 893-8940.
WANTED: System Viatron 21 and accessories.
Fred De Bros, 15 Garden St, Boston MA 02114.
WANTED: I would like to purchase the first 12
issues of BYTE (ie: volume 1, numbers 1 to 12). If
you have any of these issues for sale please write
W R Parks, Assistant Professor of Computer Science,
Walters State Community College, Appalachian
Hwy, Morristown TN 37814.
WANTED: Selectric type writer /terminal com-
patible with Altair type system. Need either
complete unit or conversion kit including interface
for Selectric I or II. Charles Ames, 46 Coburn
Woods, Nashua NH 03060, (603) 889-5000 after
7 PM.
FOR SALE: One MITS 4 K static memory board
and one MITS 4 K dynamic memory board, S165
each. One Processor Tech 8 K memory board
$315. All boards fully socketed, fully assembled,
and work perfectly. J R Fish, 2121 Columbia Pike
#208, Arlington VA 22204, (703) 521-6763.
FOR SALE: TTY paper tape, 1 inch wide, 8 inch
diameter rolls, buff, oiled, perfect for ASR-33.
$5 plus UPS shipping per 7 roll carton (12 lbs) or
$15 per 28 roll case plus UPS. Two or more cases,
$12.50 each plus UPS. Dan S Parker, 1007 3rd St
#3, Davis CA 95616, (916) 758-2341 evenings.
FOR SALE: Burroughs Card Reader (Series A590,
Style #A592), its logic unit, and a complete set of
schematics. Any offer will be welcome. Its physical
dimensions are 10 by 9 by 24 inches. Chris Nolet,
131 Bridge St, Dedham MA 02026, (617)
329-3189.
WANTED: Manual, schematic and service data for
Burroughs calculator Model C-5155, Series C-5000.
Luis Pena, POB 954, Montevideo, Uruguay,
5 AMERICA.
FOR SALE: 1702A by Intel. Bought large lot to
cut expense. Willing to share savings. Factory fresh.
$5.50 plus $1 for shipping and packaging. B D
Lichtenwalner, 29 Michael Rd, Stamford CT
06903.
FOR SALE: First 24 issues of BYTE complete.
Best offer. Roy Lynch, POB 8, Sabina OH 45169,
(513) 584-2424.
FOR SALE: PDP-11/03, cheap; 16 K + 24 K board
for same; portable Tl terminal; twin floppies,
RT-1 1 . Make offer for all or any of the above. Also
LA36 DECwriter II, $1200. Omnitech 701 B
modem, $190. Would like to discuss all DEC or
DEC compatible hardware and software. Need
PDP-11/04 or larger. Walter D'UII, 2239 Grand
Concourse, New York NY 10453, (212) 933-0300
or (201) 744-0685.
WANTED: Information on how to interface a
Flexowriter Programatic to a processor. I will pay
for cost of duplicating and postage. Have Technical
Manual and schematics for Models FL, SFD and
SPD for anyone who needs it. Frank Goeringer,
6 Fox Meadow Ln, Cahokia IL 62206, (618)
337-7031.
SOFTWARE WANTED: Bio-engineering or bio-
medical simulation programs for IMSAI 8080 in
BASIC, PDP-11 in BASIC or FORTRAN, WANG
2200 in BASIC, IBM 360 or IBM 370 in almost
any language. Donald Becnel, POB 14473, Baton
Rouge LA 70808.
124
The Intelligent Video Interface
The MERLIN Kit with manual is $269.
MERLIN assembled & tested is $349.
Order yours today.
MC and BAC accepted
If you are still not
convinced that MERLIN is the best buy
in Video Interfaces/Monitors
see one at your local computer
store or write for more info.
MiniTerm Associates, inc.
Box 268, Bedford, MA 01730 (617) 648-1200
Circle 38 on inquiry card.
Photo I: The homebrew
remote display board,
plugged into KIM via a rib-
bon cable. With such a
remote display and a re-
mote keyboard connected
through KIM's edge con-
nector, it is possible to
create an enclosed hous-
ing which protects the
processor.
Giving KIM Some Fancy Jewels
Robert Grater
1595-21 Laurelwood Rd
Santa Clara CA 95050
When my KIM-1 arrived I was excited,
but a little dubious; after all, I had read all
those microprocessor books and still didn't
know beans about programming. Well, MOS
Technology's excellent manuals took care of
that and I'm on my way to knowing what
I'm doing. When I say excellent, I mean if I
learned it, anyone can!
But KIM has a fundamental problem! I
like KIM, but I just can't see myself sitting
there with a naked board gathering dust and
me dropping ashes all over it while I sweat
out a program. Also with MOS Technology's
welcomed announcement of the KIM-2 and
KIM-3 programmable memory boards and
the coming KIM-4 mother board, it's really
time to start thinking about putting KIM in
a nice enclosure. But in order to bury KIM
in an enclosure, I had to somehow bring the
displays and keyboard lines out.
MOS Technology was nice enough to
bring the keyboard out to the application
connector, so one problem was solved before
I started. But whataboutthe display? I didn't
want to just parallel the existing readouts on
the board because that would mean that
much extra current, and this might not make
the drivers too happy. I came up with the
following solution which is fairly simple, yet
a bit delicate to start with. Delicacy and
discretion with KIM are requirements of the
task of unsoldering the original readouts,
Figure I: This diagram
shows electrical connec-
tions of the 16 pin remote
adapter socket installed as
UI8, with patches to the
pin 3 anode connections
of U19 thru U23 of the
KIM -I design. The display
positions of UJ9 thru U23
can have 14 pin sockets
installed if it is desired to
occasionally revert to on
board displays.
uia ADAPTOR
SOCKET
SEG A
SEG F
UI8AN
U20AN
U2IAN
U22AN
SEG E
U23AN
UI8AN
SEG B
UI9AN
SEG G
SEG C
UI8AN
SEG D
N/C
UI9
U20
U2I
U22
U23
126
16 PIN
DIP SOCKET
ON BACK OF
REMOTE
DISPLAY
BOARD
1118
3 9 14
• II—
UI9
3 9 14
U20
U2I
U22
3 9 14
U23
Figure 2: A remote display
board. After removing the
KIM-1 displays, a remote
display board isconstructed
for mounting in a more
convenient packaging ar-
rangement. The wiring of
the cable which plugs into
the 16 pin socket installed
at the U18 position of the
KIM-I board is listed in
the diagram.
turning these displays into remarkable jewels.
The MAN 72 7 segment readouts (U18
thru U23 of the MOS Technology docu-
mentation) are unsoldered with an iron of
less than 35 Wand a "solder sucker" or similar
vacuum solder removal tool. This is the only
way I've ever found to successfully unglue
items on double sided boards. This will allow
you to replace the displays with one 16 pin
socket as shown in figure I. The 16 pin
socket will go in the 14 pin U18 slot (there
is room for the extra pin below). Use of the
unused pins of the old 14 pin display pattern,
plus one extra socket pin of the 16 pin
socket, allows all the necessary control
signals to be routed to the external display
position.
In order to mount the 16 pin socket, take
a small piece of Vectorboard with 0.1 inch
spacing and lay it over the spot for U18 and
line it up with the existing holes; this will be
your marking guide. Now using a scribe or
small drill, mark the spots for pins 4, 5, 8,
and 14 (which were originally unused at
U18). Do not mark the spot for pin 9 since
it would go through the circuit on the other
side. Hold the Vectorboard firmly when
marking and check for alignment with a
16 pin socket after marking it. Now using a
#58 drill at the highest speed you can get,
carefully drill the extra four holes. Take
your 1 6 pin dip socket and clip off pin 9 on
the back side; now it may be soldered in
place with pin 1 to the upper left. (If you
solder five 14 pin sockets in the other dis-
play patterns, you can plug the six displays
you removed into the sockets and check to
make sure KIM is still talking to you).
Now we have four extra pins at U18
and five anode leads to bring out on 111 8's
modified socket (which is called the adaptor
socket) in figure 1. Actually we have five
extra pins since pin 6 on all the displays is
Pin Connection
SUMMARY OF INTERFACE CABLE
Pin Connection
1 Segment A Cathode 9
2 Segment F Cathode 10
3 U18 Common Anode 11
4 U20 Common Anode 12
5 U21 Common Anode 13
6 U22 Common Anode 14
7 Segment E Cathode 15
8 U23 Common Anode 16
No Connection (Do not drill on KIM)
Segment D Cathode
U18 Common Anode
Segment C Cathode
Segment G Cathode
U19 Common Anode
Segment B Cathode
U18 Common Anode
the decimal point cathode and is not used.
All we have to do now is bring the five other
common anode leads from U19 thru U23
to our modified U18 socket as illustrated in
figure 1, This may be done with very small
(#26) wire. I picked up pin 3 of all the other
display sockets which seemed to give the
easiest routing, straight down the middle.
The wiring diagram of figure 1 shows the
connections. Now you have the original on
board display with the option of plugging
into the adaptor socket with an 16 pin DIP
plug for a front panel display when you put
KIM in a box.
The front panel display may be wired as
shown in figure 2. I used a modified clock
display board and would have been just as
well off wiring it by hand on Vectorboard.
Also I used a 16 pin DIP male to male plug
with another 16 pin socket mounted on the
back of the display board, so the whole
works can be unplugged if I want to go back
to the bare KIM for testing or whatever. )ust
for a little added elegance and pizzazz, I
replaced the two data display readouts with
MAN 7G green LED displays for some classy
emerald jewel effects.
This modification of KIM's display jewels
is just the first step in getting KIM into a
more workable medium for expansion and
dressing her up a bit. I've also been working
on the complete housing, but that's another
story."
127
PAPERBYTES™
Forum
Yet Another Format?
Ian Robinson, 308 W 5th St, Neillsville
Wl 54456, sent in an extended letter on an
alternative to the bar code format we pro-
posed in November and December, and have
begun using. He proposes a format which
looks like this:
- data bars (Is only)
— clock bars (each bit)
Binary data
010101000010100
However, there is one disadvantage to
this format: It requires two read sensors
since the data clock bars and the data bars
must both be read simultaneously. He argues
that this method can be hand drawn with
quite a variation in density, which may be
true, but the whole idea of the bar codes was
to automate the printing process for mass
produced software distributed in maga-
zines. ■
BAR CODES AND OTHER TOPICS
I enjoyed the April 1977 issue of
BYTE, which I thought was somewhat
improved in areas of my interest. In
particular, I enjoyed your article, "A
Software Controlled 1200 bps Audio
Tape Interface." For a while, I thought
that our interests might be diverging,
but now your articles are tending more
toward the hardware direction, with
one particular area of common interest
that intrigues me greatly.
The idea of published software in
bar code form could well be the greatest
communications method yet, as far
as hobby level exchanges go. Here
are some additional ideas for your
consideration.
An almost perfect version of the
optical leader described by Frederick
Merkowitz in his article on page 77 of
December 1977 BYTE is available from
Wilcox Enterprises, whose ad also
appears on page 85 of this issue. This
item sells for a mere $15, and contains
a B & L Microscope equipped with an
EPI illuminator (through the lens) and
a 10 x objective lens. The microscope
assembly is equipped with a photocell
and slit assembly, and is mounted on
a precision set of slides. The assembly
is scanned or driven by a motor (every
unit I have ordered has been damaged,
but the motor can be replaced easily,
by any semiskilled hacker) and gear
assembly.
An infrared emitter and sensor
combination, mounted in a TO - 1 8
package, is available from Ultra Sensors
Inc at 2400 West 102nd St, Suite 313,
Minneapolis MN 55431. The price is
$4.50 in unit quantities (ask for the
Cyclops Evaluation Kit). This device is
easily made into a light pen style reader,
or any other configuration one might
desire. There seem to be no significant
problems with ambient light, or angle
of approach with this device, if the
self-contained lens is held in contact
with the paper while reading. This device
works best if it is powered by approxi-
mately 10 kHz pulses of 5 to I 0 V mag-
nitude, through a 27 Ohm current
limiting resistor (or it can be driven
by a single UJT transistor oscillator
operating at 10 kHz). Connect the
photocell to a LM 308 op amp through
a 100 pF capacitor followed by a 3.3 k
Ohm resistor to ground (ie: a differen-
tiator). If you rectify the output of
the op amp, you have the scanned
bar code signal!
A bar code printer (coded for the
standard bar codes, ala super market)
is available from:
Medical Record Systems
Division of Ames Color-File
Corporation
12 Park St
Somerville MA 02143
They ask a very high $6,500 (in hobby
terms) price for this critter, and the
electronics for bar code formulation and
interface are not of particular interest
in our case. Possibly the printer mech-
anism alone can be purchased. With
such a machine connected to a key-
board and a universal (ie: programmable)
cassette tape interface, BYTE maga-
zine could reproduce almost anyone's
software recordings into one of the
bar code formats that you have been
discussing. This would make the dream
of software exchange a reality. (If
BYTE would like a formal quotation
for construction of such a system,
just ask. This is my business. A first
guess at the cost, with bar code printer,
would be approximately $13,000.)
I don't enjoy writing software,
and I find the manual entry of software
listings a very boring task. Published bar
codes could change this.
I have recently made several video
monitors by converting a Magnavox
12 inch, transformerless set for a total
cost of $87 each. I go to a Magnavox
dealer, and purchase an MG 5056WAF2
less the video, audio and tuner mod-
ules. These are plug-in and can be
removed in minutes right in the show
room (take a 1/4 inch nut driver with
you). The dealer can use these modules
to service quite a few Magnavox sets,
and the total rebate has been $53.55
to me. By sawing the fingers off an old
PC card, you can fabricate a connector
to fit into the video modules socket,
and make connection to pin 4 V (video)
and pin 8 (ground). Delta Electronic's
L9971 isolation transformer at $6 then
mounts in the same screw holes that
mounted the tuners! If you think there
would be sufficient interest in this
project, I could put together a project
article on same.
The front cover picture of April 1 977
BYTE is fantastic. How about poster
size reproductions of this? I need several
(to justify the present conditions on
several of my own benches)!
Sumner S Loomis
Route 1, Box 131 A
Prairie Point MS 39353
Thanks for your excellent comments
and suggestions, but I thought I used
software to generate and decode the
information at the interface. . ,CH a
HIGH-SPEED CASSETTE INTERFACES (The Stringy Disk)
CRI-B
Up
lUivl
"ill
DAJEIM Electronics
7214 Springleaf Ct.
Citrus Heights, Ca. 95610
(916) 723-1050
600 to 12,000 baud status
controls, 1K monitor with
cassette routines provided
on tape.
SUMMER SALE!
Take 10% off. Good thru Aug. 31,
1977. Dealer inquiries invited.
This one does it all!
Announcing: Universal l/o, moni-
tor in EPROM, RAM, RS-232, cur-
rent loop, 3 parallel ports, cas-
sette l/o, relay control. Kit: $235.
UCRI
0';
;.
Relay control of two re-
corders, latched input port
for keyboard, tape reader,
etc. File-search capabilities.
Biphase, Kansas-City, Altair, IMSAI, Poly, Tarbell compatible
Kit $120, Assembled $165 Kit $135, Assembled $175
Manual $3.50 Manual $4.50
Circle 39 on inquiry card.
128
Circle 97 on inquiry card.
What's
ASCII Keyboard Kit from Radio Shack
£ 1.: *. 'Y"i1,Y',T"VT[ jHa'"T 2"
MllllllllllPffPPI
« * S8911iliP!»P«!
Radio Shack has announced the
new Archer ASCII Keyboard Encoder
kit for $57.80. The price includes all
electronics and parts needed to assemble
the keyboard as shown. An external
5 VDC 500 mA power supply (not
supplied) is necessary to power the unit;
this may be purchased locally. The
printed circuit board alone, including
assembly and parts manual, is avail-
able for $14.95. See your local Radio
Shack dealer for details on their latest
catalog sheets."
Circle 634 on inquiry card.
A New Multiplexed Analog IO Card
for the Z-80
Signal Laboratories Inc, 202 N State
College Blvd, Orange CA 92668, is
making available a new analog IO card.
With this board, intended for use with
the Zilog Z-80 development systems,
the engineer or scientist can monitor
up to 16 analog channels in real time.
NEW . . . 1977
MICROCOMPUTER
CATALOG!
Hundreds of microcom-
puter products and ac-
cessories from many
manufacturers.
Our new MICRO 77 Catalog provides you with a single,
easy to use source for comparing and selecting microcom-
puters — from simple low cost trainers, to advanced systems
designed for business, scientific, and engineering applications.
Whether you choose a kit or fully assembled unit, this easy
to use catalog can help take the mystery out of selecting the
computer system that is best for your application.
Included in this catalog is a convenient glossary of terms
for reference, and sections covering:
MICROCOMPUTER SYSTEMS
PERIPHERALS
DEVELOPMENT AND TEST EQUIPMENT
SOFTWARE
BOOKS AND PROGRAMMED COURSES
Send $1.00 (refundable with first order) for your copy
today I
miMCom systems
865 3rd Street South, St. Petersburg, Fl 33701
PCC'S
Reference Book
of Personal
and Home Computing
Ever try to find the addresses of some manufacturers of, say,
tape cassette or floppy disk interfaces for micros? Frustrat-
ing, isn't it? Well PCC has done something about it. This
book lists hundreds of companies and stores selling hardware,
software, and services. Survey articles on software, hardware,
kits, applications and the future for the experienced and the
not-so-experienced user of micros. Also included in this edi-
tion are bibliographies for further reference, book reviews,
and an index of the articles from the major hobbyist maga-
zines. All for the low price of $4.95, plus 50 cents postage.
Available through:
Master Charge and
BankAmericard Welcome.
BITS, Inc.
70 Main Street
Peterborough NH 03458
In unusual cases, processing may exceed 30 days.
129
Circle 51 on inquiry card.
The channels are sequentially sampled
and sent through a 12 bit analog to digi-
tal converter. Two multiplexed digital
to analog outputs are also available
on the board, as well as four discrete
(1 bit) outputs and a DC to DC con-
verter, enabling the board to be powered
with only +5 VDC. One analog to digital
conversion takes a maximum of 20 MS.
A programmable gain amplifier is also
included offering gains of 1 , 2, 4 or 8.
An option is available which allows
the board to monitor up to 32 analog
input channels. Price for quantities
under ten ranges from $595 to $910,
depending on options. Available from
stock."
Circle 645 on inquiry card.
A Sophisticated New Small System
On Line Shirtware
Fed up with those tiresome Paris
originals? Eschew the tacky route at
your next computer club meeting with
Martha Herman's new computer T-shirt
designs. Try REAL TIME OPERATOR
on a dark green background, or maybe
GARBAGE IN-GARBAGE OUT on
orange. Other titles include COMPUTER
WIDOW and RANDOM ACCESS; there
are ten in all.
Shirts are available from Martha
Herman, 114 W 17th St, New York
NY 10011, for $5 plus $.60 postage per
shirt. State chest size."
Circle 646 on inquiry card.
Microkit Inc, 2180 Colorado Av,
Santa Monica CA 90404, has announced
their new Microkit 8/16 Universal Micro-
computer Development System as shown
for $5,275. The system is available in
both 8080 or 6800 versions, and the
price includes 32 K bytes of program-
mable memory, two cassette recorders
and a high speed graphics display. An
interesting feature of the software sup-
port package, called Quickrun, is that
the monitor, debugger, editor and
assembler reside in the 32 K byte memory
simultaneously, along with a source code
work space and an object code work
space. This allows up to 1000 steps of
source program and 4 K bytes of object
code to reside in memory simultaneously.
No bells or whistles. ..just performance,
a warranty and a low price.
i * mm awkaa %$Mn
fcSB I V
"J! i • " ,
IHf
For $107.00 take your choice; the 4K RAM board or the
alpha video board. For $137.00 the video graphic board
can't be matched. (8K RAM and much more on the way.)
These are nor kits, but completely assembled, burned-in,
tested boards with a 1 year warranty. No soldering, no
messing, no chance of mis-connections . . . just plug 'em
in and you're ready to go.
The 4K RAM has the same features and speed as what
you're used to (500 nsec, no wait states) but with a couple
of extras you might not expect. Like a mechanical write
protect switch that gives you positive memory protection.
And Visaddress®, an easily accessible switch on top of the
board for easy to read address selection.
The alpha video board offers Visaddress address selec-
tion and displays 128 ASCII characters: both upper and
lower case. A standard 16 line by 32 character format with
character selectable video reverse and socketed ROM are
standard features. (Character generator ROM available with
standard graphics characters. Optional Greek or ASCII
control characters available.)
And our video graphic board gives you an exceptionally
easy approach to computer animated dynamic displays.
Our matrix approach allows direct addressing of each dot
in an 128 by 96 array, simplifying dynamic movement. And
unlike DMA displays, our on-board RAM allows your CPU
card to do other work during display time and with no
dynamic RAM problems. And like our other boards, it has
Visaddress address selection.
Quality, assembled boards at less than kit prices. But
what else would you expect from a company whose prime
product is electronic test instrumentation and microproc-
essing components?
Order direct, by check, BankAmericard or Master Charge
(Add $1.50 shipping, credit customers give us all the card
numbers, please and Ohio residents add 41/2% sales tax)
or contact us for more information. Kent-Moore Instrument
Company, P.O. Box 507, Industrial Ave., Pioneer, Ohio
43554.(419)737-2352.
Kent-Moore
INSTRUMENT COMPANY
Circle 40 on inquiry card.
130
DO IT BETTER
With the language that is best suited for your application: Business programming in
COBOL, Scientific and Engineering in FORTRAN IV, Educational in BASIC, and
Systems Implementation in our MACRO ASSEMBLER.
With hardware that will grow with your application, and protect your software in-
vestment.
DO IT FASTER
With extensive support and utility programs to speed development of your applica-
tions software. These include a Diskette Operating System, Relocatable Linking
Loader, Load Module Library Editor, Symbolic Debugger, and Text Editors.
With a 16 bit processor that includes hardware multiply and divide, real-time clock,
and peripherals like single or dual diskette subsystems with integral DMA con-
troller.
DO IT WITH A MicroNOVA
If you are serious about computing, call or write
today. BPI Inc., 2205 East Broadway, Suite 6,
Tucson, Arizona 85719 (602) 326-6975
® NOVA is a registered trademark of Dala General Corporation, Southboro, Massachu
Circle 41 on inquiry card.
Circle 42 on inquiry card.
SOFTWARE
All programs include: Complete assembler source listing,
sample output, hex dump, sorted symbol table, plus com-
plete instructions and thorough documentation.
Text Editing System for 6800. The best! SL68-24 $23.50
NEW Mnemonic Assembler System for 6800.
SL68-26 $23.50
NEW Stack Oriented Arithmetic Processor
(6800) SL68-25 $10.00
NEW 8080 Klingon Capture Space game. SL80-7 $6.50
Special Game Packages Each containing 6 programs:
8080 PD80-1 $19.95. 6502 PD65-1 $19.95.
6800 PD68-1 $16.50
Complete 6800 Software Pack 16 programs.
PD68-3 $35.50
Battleship for 6800, like the board game. SL68-22 $8.00
Space Voyage'" TSC's 6800 Star Trek game.
SL68-5 $12.00
Micro BASIC Plus The best 6800 "Tiny BASIC"
SL68-19 $15.95
Diagnostics for 6800. Very Important! SL68-23 $10.00
Stock Market for 6800. Lots of fun! SL68-7 $4.25
Complete Catalog of all of our programs. $ .25
Program-of-the-Month-Club'" Join the hundreds of
hobbyists already enjoying this service. No obligation
and no time valued cards to return. Discounts offered.
One year for $2.00
To Order: Include 3% postage, $1.00 handling on
orders under $10.00. Indiana residents add 4% sales tax.
Check your dealer!
TCP TECHNICAL SYSTEMS CONSULTANTS
BOX 2574 W. LAFAYETTE, INDIANA 47906
1 6K STATIC RAM
$459
• USES 4K STATIC RAMS - NO REFRESH
• VERY LOW POWER - LESS THAN 1 AMP
• Z60 FAST • 250ns BOARD ACCESS TIME
• PROVISION FOR BATTERY BACKUP
• LOW PROFILE SOCKETS FOR ALL CHIPS
• EACH 4K ADDRESSABLE TO ANY 4K SLOT
• HARDWARE/SOFTWARE MEMORY PROTECT FOR EACH 4K
• SPECIAL PAGING FEATURE ALLOWS UP TO
1 MEGABYTE ADDRESSABLE MEMORY
• INSTRUCTION MANUAL INCLUDED
• 30 DAY WARRANTY ON PARTS. 90 DAY ON ASSEMBLED UNITS
AVAILABILITY: STOCK TO 60 DAYS
PRICES: ASSEMBLED $529. 16K KIT - S459, 12K KIT - $354,
8K KIT - $249. 4K KIT - $149. 4K EXPANSION KIT - $115
CONSTRUCTION MANUAL FOR EVALUATION $1 .75
QUANTITY DISCOUNT 5 BOARDS— 5%
10 OR MORE— 10%
CASHIERS CHECK OR MO PREFERRED; PERSONAL CHECK
DELAYS SHIPPING 2 WEEKS; COD. CHARGES S3 PER BOARD
PURCHASE ORDERS ADD 5%. NET 30. NO DISCOUNT.
DEALER & OEM INQUIRIES INVITED
OMNI SYSTEMS INC.
P.O. BOX 7536, UNIV. STATION
PROVO, UTAH 84602
READER SERVICE NO. 198
The user can thus switch at any time
from editing to assembling to debugging.
Quickrun allows the use of symbolic
debugging. Being able to refer to memory
locations by their symbolic names
eliminates the need to consult program
listings to find hexadecimal memory
addresses. Also included in the system
are memory protect features and a
microemulator. The latter allows the
user to simulate up to 20 K bytes of
memory."
Circle 647 on inquiry card.
A New Drafting Aid for Printed
Circuit Layouts
The Machine and Control Division of
Interrotech, POB 128, Farmington ME
04938, has announced a new drafting
template for $8.95 to be used in design-
ing "tapeless" printed circuit board
layouts using ink pens, or pencils.
The template produces pin layouts
of dual in line integrated circuits that are
twice actual size. The template has a
versatile pattern that includes all the
popular sizes up to 40 pin packages."
Circle 635 on inquiry card.
Badge Reader Module Announced
RD Products Inc, 6132 Route 96,
Victor NY 14564, have announced their
Mark I badge reader for $100 in quanti-
ties of 1 to 25. The reader is designed
to read ID cards (such as credit cards)
having magnetic stripes. A maximum
of 12 decimal or hexadecimal digits
can be read on a magnetic stripe having
Circle 43 on inquiry card.
132
Your microcomputer is only as good
as its memory
Your m icro-
computer is...
in a manner
of speaking . . .
capable of think-
ing. The amount
of information you can store, combined
with the access speed, determines the
bottom line capability of your microcomputer.
The Midwest Scientific Instruments' FD-8 Floppy
Disk Memory System will enable you to get the
most out of your microcomputer. . .6800 or 8080.
We have the most complete 6800 disk operating
system available today, which interfaces to any
microcomputer via a single PIA chip.
When used with the MSI FDOS Operating
System. . .included with purchase. . .the FD-8
gives your microcomputer a level of performance
which can only be matched by larger computers.
You can have program save and load with
named, variable length, password protected
files at three levels : object code files, source code
files, and BASIC files.
It has disk routines which can be used easily by
low level assembler lan-
guage programs as well as
high level BASIC programs.
The coresident assem-
bler/editor saves and loads
source files from disk,
assembles and stores object
code on disk, and creates assembly
listings on a high speed printer.
You get a full ANSI standard BASIC inter-
preter* with program load and save, from disk as
well as tape, with both random and sequential
disk data files. BASIC also has multi-l/O port
capability under software control.
And all you need do to access any of these
functions is type the appropriate commands on
your terminal.
The FD-8 is complete, including all power sup-
plies, cabinet, cables, software, manuals, and
documentation.
You can order the FD-8 as a kit for $1,150.00,
or wired and tested for $1,395.00.
Visit one of our dealers for a demonstration,
or send for our free Catalog of MSI products.
American Microprocessors
Equipment & Supply Corp.
Chicagoland Airport, P.O. Box 515
Prairie View, Illinois 60069
(312)634-0076
Microcomputer Systems, Inc.
144 South Dale Mabry Avenue
Tampa, Florida 33609
(813)879-4301
Micro Store
634 South Central Expressway
Richardson, Texas 75080
(214) 231-1096
Vanguard Systems Corporation
6812 San Pedro
San Antonio, Texas 78216
(512) 828-0553
A-Vid Electronics Company
1655 East 28th Street
Long Beach, California 90806
(213) 426-5526
Electronics for Yachting
1525 South East 16th Street
Ft. Lauderdale, Florida 33316
(305) 525-3478
TWX 510-955-9484
High Technology
1020 West Wilshire Blvd.
Oklahoma City, Oklahoma 73116
(405) 842-2021
Computer Workshop
174 Ifield Road
London England
SW10 9AG
01-373-8571
THidcMMt Scientific
*)K4t*UUKeHt4>
220 West Cedar • Olathe, Kansas 66061 • 913/764-3273
TWX 910 749 6403 (MSI OLAT)
nnnnnnnnnnaDnnDDDnDnnnnnn
a Before I forget. . .send me your catalog
a Name
D —
□ Address
D
n Ci(y
■n State
□
Zip
□
□
□
□
□
D
□
MSI is a dealer for Southwest Technical Prod
220 West Cedar • Olathe, Kansas 66061
Circle
BY7 77 O
nnnnaannnDnnnnnnnannnnnan
*MSI BASIC is an additional $65.00
ucts • Mastercharge & BankAmericard Orders accepted
• 913/764-3273 • TWX 910 749 6403 (MSI OLAT)
44 on inquiry card.
up to 5 mils of protective polyester
coating. The company is considering
the manufacture of a reader designed
to read whole programs encoded on
ID card magnetic stripes."
Circle 636 on inquiry card.
lit •••« •*••••
A Tutorial Training Computer
The Datac 1 000 computer, controller
and tutorial card is a new product
available from Datac Engineering, POB
406, Southampton PA 1 8966. This card
is available in two models, the tutorial
version and the fully populated version.
The tutorial version is $185 assembled
and tested, with power supply; the fully
ilHVili-1CJBpl|
IIHIIIIL— lit
milium ill
iiirinttittlti
imiiimtim
Attention LSI-11 People
Wanting Mass Storage
Charles River Data System Inc, 235
Bear Hill Rd, Waltham MA 02 1 54, has
announced its new FDIl Floppy Disk
Acld-On System lor PDP-1 I computers
as well as LSI-11 microcomputers. The
system was designed to be hardware,
populated version is $345 assembled,
tested and with power supply. In either
case you get a 6502 processor, an
instantly usable computer with expan-
sion capabilities, and a unique system of
touch sensitive input keypads, seen along
the lower edge of the board depicted in
this photo. A documentation package ac-
companies each processor board.*
Circle 637 on inquiry card.
Make the HAL Connection
> 8080A MPU
1 1K Monitor/Debug
Software in
2708 EPROM or
2-3624 PROMs
• On board space
for. 4K ROM
(2708), 2K RAM
(2102A-4)
• 24 lines of
Parallel I/O (8255)
• Hardware "front
panel" on board
• Optional
Accessories:
CRT Terminal
Board, BASIC in
EPROM, Audio
Cassette Interface,
7K RAM Expansion Board/
• TTY Current Loop or
RS-232C serial I/O (8251) EPROM Programmer, Power Supply
MCEM-8080 from $375 (2-3624 ROM/1 K RAM) or$445 as shown (2708 EPROM/2K RAM)
and solve your lab or OEM computer problems
Connect to the 24 lines of Parallel I/O
and ASCII or Baudot Serial I/O.
2. Connect to processor bus to add mem-
ory expansion board/EPROM program-
mer, I/O devices, or our unique CRT
Terminal Board.
3. Connect to our power supply or use
your own.
Lab users and OEM's alike will find solu-
tions to their computer problems with the
MCEM-8080 computer. All essential com-
puter system elements are incorporated In
this fully assembled, tested single-board
computer. Some unexpected features of
the HAL MCEM-8080 are: hardware "front
panel" which allows setting a breakpoint
and manual control of the computer; 1K
ROM Monitor/Debug Software (with user
callable, lntel®compatible I/O routines)
which greatly simplifies program develop-
ment; Parallel and Serial I/O on the board;
and very reasonable prices.
Call or write for further information on the HAL Connection .
You'll be glad you did!
HAL COMMUNICATIONS CORP.
Box 365B 807 E. Green Street, Urbana, III. 61801
Telephone (217)367-7373
software and media compatible with the
DEC RX11 products. It includes write
protect switches, unit select switches, up
to four drives with one unit load on the
DEC Unibus, PROM self-diagnostic pro-
grams and bootstrap loader. Track to
track access time is 6 ms. Single quantity
price of the drive and DEC compatible
controller is $2750."
Circle 638 on inquiry card.
Portable Games
IHHj
iPO"
GarpcK Pac \
For the benefit of the steadily grow-
ing ranks of pocket calculator game
enthusiasts, Hewlett-Packard is offering
the Games Pac I. Intended for use with
the company's HP-67 and HP-97 pro-
grammable calculators, the package con-
tains an owner's handbook (shown) and
20 prerecorded program cards. Games
include Space War, Golf, Slot Machine,
Dice, and a Bowling Scorekeeper. The
price is $35. Contact Hewlett-Packard,
1501 Page Mill Rd, Palo Alto CA
94304."
Circle 648 on inquiry card.
A New Version of the PCM-1 2
Microcomputer
Pacific Cyber/Metrix Inc, 180
Thorup Ln, POB 215, San Ramon CA
94583, has announced a new version
of their PCM-1 2 microcomputer called
the PCM-1 2A. The new unit is a 12
bit machine based on the Intersil
IM6100 microprocessor, and is de-
signed to be compatible with PDP-8
134
software. The new model includes
the following features:
• Memory expandible to 32 K bytes
of programmable memory.
• Crystal controlled data rate gen-
erator to service peripherals.
• Front panel controlled bootstrap
loading.
• Can be expanded to run with
Digital Equipment's OS-8 oper-
ating system.
The unit is available either assembled
or in kit form. The kit price of $799
includes the control panel, 1 K byte of
static programmable memory, cabinet
and power supply."
Circle 639 on inquiry card.
Hewlett-Packard's Personal Computer. . .
The HP983 I A desk top computer is a
personal computing entry of Hewlett-
Minidisk and Verbatim™ - New
Products from ITC
Information Terminals Corporation,
323 Soquel Way, Sunnyvale CA 94086,
announces a new proprietary ferric
oxide binder system called Verbatim™
This new material will form the storage
medium for the company's floppy disks,
magnetic cards, computer cartridges,
Packard, which comes in at the high
end of the present day spectrum of
price, $7200. This machine speaks
BASIC with an 8 K byte source program
string area expandable to 32 K maxi-
mum in 8 K byte increments. It uses an
on board tape drive with 90 ips (229
cm/sec) search and rewind speed, 22 ips
(56 cm/sec) data transfer speed. The
tape cartridge can hold approximately
250,000 bytes and is available to BASIC
applications programs as a resource. The
average access time is quoted as six
seconds. Auxilliary ROM cartridges are
also available for extension of its capa-
bilities. The main display peripheral is a
32 character LED alphanumeric device,
and the keyboard is used as the primary
interactive inputs. Options include
printers, floppy disks and other goodies.
For inquiries contact Hewlett-Packard at
1501 Page Mill Rd, Palo Alto CA
94304."
Circle 640 on inquiry card.
digital cassettes, mini data cassettes
and the MD 525 minidisk. The new
binder is said to be more resilient and
less abrasive than previous binders.
The minidisk is approximately half
the size of the standard floppy disk and
provides one third the storage capacity.
Priced at $5.95 per disk, the minidisk
is intended for use in the small systems
market as well as in power typing
and editing systems. When you use
high speed digital media, this type of
product will prove most useful."
Circle 641 on inquiry card.
Bite Analysis, Anyone?
The latest issue of Complot's Appli-
cation Newsletter describes a new tech-
nique being used at the University of
Michigan's School of Dentistry. Re-
searchers are using computer graphics
PAPERBYTES Design and Implementation of a
Tiny Assembler 6800 — Microprocessor Self Assembler
$7
Tiny Assembler 6800
Design and Implementation
of a Microprocessor Self Assembler
by Jack Emmerichs
Send today to:
BYTE Interface Technical Services, Inc.
70 Main St
Peterborough NH 03458
Dealer inquiries invited
All orders must be prepaid.
Originally described in the April and May 1977 BYTE, PAPERBYTES is now offering
Jack Emmerichs' Tiny Assembler 6800. This book contains the complete Tiny Assem-
bler source listing plus object code in cross assembly format (space restrictions prevented
printing of this material in BYTE). A barcode version of Tiny Assembler is included for
convenience, as well as reprints of Jack's two articles and additional user manual mate-
rials. Tiny Assembler will run on any machine with Ml KBUG and 4K of memory starting
at address 0000, and is an excellent tool for the interactive development of functional
blocks for a large structured program. Add it to your 6800 system and you'll have a
valuable programming aid which can free you from the drudgery of machine language.
The best part is the price: only $7. Order yours today!
| Name
I
| Address
I
| City
State
7j£_
I J
PAPERBYTES
Tiny Assembler 6800
Q Check enclosed
□ Bill MC #
□ Bill BA #
Price of Book $
Postage, 35 cents $
Total $
Exp. Date
Exp. Date
Signature
In unusual cases, processing may exceed 30 days,
Vou may photocopy this page if you wish to leave your BYTE intact.
No. 700
JL
135
Circle 51 on inquiry card.
■'if Vs ' '.
"igure 2. The coordinate po
nts comprising our
model of
tlie
literal craniofacila
morphology
of the
skuLL
in conjunction with a computer to
study how changes in the number of
teeth through time can affect the shape
of the skull and face.
An X-ray of the skull's profile is
first digitized into 177 key coordinate
points to facilitate plotting. A typical
plot is then produced in 30 seconds,
which can be overplotted to show
deviations of the skull and jaw due to
age, corrective surgery or other factors.
Researcher Dr Geoffrey Walker looks
upon the technique as a major tool
which can improve the quality of cor-
rective facial surgery and other dental
techniques. For further information
contact Complot Application News,
One Houston Sq (at 8500 Cameron
Rd), Austin TX 78753. ■
Circle 642 on inquiry card.
A New Economical 6800 Software
Package
Users of 6800 based microcomputers
will be interested in Inpro Micro Sys-
tems' new software package called
MIKADOS, a combination debugging
program, assembler and operating sys-
tem which resides in 2.5 K bytes of
programmable memory. The assembler
generates object code on the same line
as the user's mnemonic to provide an
immediate program listing. The price,
which includes user manual and hexa-
decimal object code listing, is $12.95.
Contact Inpro Micro Systems, POB
7776, Van Nuys CA 91409."
Circle 643 on inquiry card.
With a Small Floppy Disk,
Where Does One Get Media?
Media (for those new to the term) is
a generic name for tapes, floppy disks,
hard surface disks, etc, which can store
data. International Terminals Corpo-
ration has recently introduced a new line
of floppy disk media for use with the
new drives such as the Shugart Mini-
Floppy. The price of the ITC MD 525
flexible disk cartridge is $5.25 in single
Now available direct from manufacturer. .
PS-40
48-column
Thermal Printer
• 64 ASCII characters (upper case)
• TTL level parallel interface
• STROBE-BUSY handshaking
• Active low new line implementation
• Local line feed (continuous)
• 20 characters-per-second throughput
PS-40 mechanism and Print Head $250
With TTL parallel interface — kit $350
With TTL parallel interface —
assembled and tested $400
PS-40 with versatile multifunction RS-232C
interface (F-8 microprocessor) —
assembled and tested $550
Power supply $100
Case $ 80
Paper roll (5%" x 164) $ 3
Shipping Charges $ 4
• Delivery — Four weeks ARO,
F.O.B. Addison, Texas
Please complete and return coupon with check or Master Charge
number. Money back guarantee! Texas residents add 5% sales tax.
telpar, inc.
To:Telpar, Inc.
4132A Billy Mitchell Road, P.O. Box 796
Addison, Texas 75001 Telephone (214) 233-6631
□ Enclosed is my check in the amount of $
purchase of .
covering
I
□ Place my order on Master Charge, please. My MC number
; expiration date is l
Signature
Name (please print) _
Address
City
_State_
Zip
Circle 46 on inquiry card.
136
quantities, and the press release says
delivery is from distributor stocks. The
company is located at 323 Soquel Way,
Sunnyvale CA 94086."
Circle 644 on inquiry card.
Not for the Casual Amateur, But . . .
This "Traverscan" absolute free
cursor digitizer from the H Dell Foster
Company, POB 32581, San Antonio TX
78216, is an interesting idea which
experimenters might find challenging to
emulate. This is a real time graphic
digitizer which measures, counts and
displays the X and Y coordinate values
of points, with six digits per axis read
directly in English or metric units.
Numerous operational features include
electronic scaling, 2 axis scalable inte-
grator (or digital planimeter) for auto-
matic area compulation, and of course,
output interfaces through RS-232C serial
lines so that the data can be captured by
a computer. One uses a graphic digitizer
to get information from drawings into a
computer by tracing lines and tracing
around regions. The complexity of this
particular device strongly suggests it has
some microprocessor intelligence built
into it locally. H Dell Foster Company is
a subsidiary of the Keuffel and Esser
Company."
Circle 649 on inquiry card.
Improving Your Memory
If you want to experiment with
APL or other sophisticated data con-
structs requiring extensive memory space,
(see the editorial in the November 1976
BYTE), you may be interested in the
new 64 K byte programmable memory
THE COMPUTER ROOM
SMALL COMPUTER SYSTEMS • SOFTWARE • AMATEUR RADIO EQUIPMENT
3455 Southwest Temple Salt Lake City, Utah 841 15 Phone:801-486-4311
"WE TAKE THE
insasn out of the mora "
One Of The Nations Largest
Full-Service Computer Stores.
Over 1600 Square Feet Of Sales
And Service Facilities.
WHEN YOU WRITE FOR OUR CATALOG AND ENCLOSE $1 TO
HELP DEFRAY THE COST OF HANDLING AND MAILING,
HERE'S WHAT YOU GET:
1. A CERTIFICATE GOOD FOR $2 ON YOUR NEXT
PURCHASE
2. THE COMPUTER ROOM EASY TO UNDERSTAND
CATALOG COVERING
I MS A I
THE DIGITAL GROUP
POLYMORPHIC SYSTEMS
SOUTHWEST TECHNICAL PRODUCTS CORPORATION
TECHNICAL DESIGN LABS
ETC.
3. the COMPUTER ROOM -easy guide- to help you
PICK THE RIGHT SYSTEM, PERIPHERALS, COMPONENTS,
AND SOFTWARE FOR
THE BEGINNER
THE ADVANCED
THE EXPERT
THE SMALL BUSINESS
4. A CURRENT LISTING OF PRESENTLY AVAILABLE
SOFTWARE
PUBLICATIONS
PERIPHERALS
5. INFORMATION ON REPAIR SERVICE, LOW COST
CUSTOM PROGRAMMING AND OTHER SPECIAL SERVICES.
AT THE COMPUTER ROOM YOUR written questions
AREHAPPILY RECEIVED AND PROMPTLYANSWERED
WE ALSO STOCK A COMPLETE
LINE OF AMATEUR RADIO EQUIPMENT
BANKAMERICARD
137
MASTERCHARGE
Circle 47 on inquiry card.
Complete listing of all fea-
ture articles appearing in
Volume I of BYTE-
September, 1975 thru De-
cember 1976. Indexed for
easy reference. Includes all
errata.
To get yours, send a $.24
stamped self addressed en-
velope to:
free BYTE Index
70 Main Street
Peterborough NH 03458
board recently announced by Extensys
Corporation, 592 Weddell Dr, Suite 3,
Sunnydale CA 94086. The 5 by 10 inch
(12.7 by 25.4 cm) board has a hardware
provision for bank switching to add over
one million bytes. This Altair compatible
board also allows memory address to be
set in 8 K byte increments and provides
hardware protection in 16 K byte
increments. Power supply voltages re-
quired are 12V 300 mA, 5 V 750 mA,
and —5 V 1mA (Power supplies are not
included). Memory overlap protection is
provided to prevent conflict with existing
memories. The price of the 64 K byte
board is $1,495. A 32 K byte board is
available for $895, and a 48 K byte
board for $1,195."
Circle 650 on inquiry card.
Voice Synthesizers, Anyone?
MICOM Systems, 9551 Irondale Av,
Chatsworth CA 91311, is manufacturing
a Voice Response System intended for
minicomputers, which uses a micro-
processor as a control element. The press
release describes a system which can
accept Touch-Tone encoded inputs and
give digitally generated synthetic voice
outputs. This system, which is definitely
oriented toward commercial systems
markets, has prices beginning at $500.*
Circle 651 on inquiry card.
A Decimal Order of Magnitude
Difference in Price
We received this picture of a new
Model 100A Logic Analyzer, produced
by Paratronics Inc, 150 Tait Av, Los
Gatos CA 95030, and seen in some detail
in Popular Electronics, February 1977.
This unit is available in a complete kit
for $198.50, along with a 100 page
assembly and applications manual.
According lo its makers it compares
quite favorably with commercial labora-
tory equipment products costing $2750
(and up). The output display is on an
ordinary oscilloscope, with blanking, and
consists of a truth table of the last 16
states of a 1 byte word of data. Various
other useful features make this an
interesting test instrument which may
prove useful to many of our readers."
Circle 652 on inquiry card.
Two New Dajen Cassette Interfaces
Dajen Electronics, 7214 Springleaf
Ct, Citrus Heights CA 956 1 0, has an-
nounced two new cassette interface
boards compatible with the Altair bus.
The first board is a universal cassette
interface called the UCRI, available
for $1 75 assembled or $ I 35 in kit form.
Data transmission rate is user selectable
from 520 to 41,000 bps. The unit
can be optionally equipped with two
Texas Instruments Introduces 12 Digit
VLED Display Board
Thinking about your own custom
decimal displays? Texas Instruments
has announced a multidigit visual light
emitting diode (VLED) display stick
with 12 digits on a single board, called
the TIL804. The characters are 7 seg-
ment red VLEDs, 0.27 inches (0.66 cm)
high; typical brightness is 500 micro-
candelas at 20 mA. The display stick
features right hand decimals at each
digit, continuous uniform brightness
of segments within each digit, and a
wide viewing angle for distances up to
15 feet. It is presently available in a
common cathode configuration to facili-
tate multiplexing. Intended commercial
applications include Citizens' Band ra-
dios, scanners, digital instrumentation,
electronic games, medical electronics,
test and measurement equipment and
desk top calculators; these would make
excellent numeric displays for the
experimenter as well.
The price of the board is $14.65
in quantities up to 100 and $11.65
eacli in quantities above 100 to 999.
Write Texas Instruments, POB 5012,
Dallas TX 75222."
Circle 659 on inquiry card.
reed relays allowing the unit to inde-
pendently control two cassette re-
corders. The second interface board,
the CRI-B, has a maximum data trans-
mission rate of 6000 bps and is avail-
able for $165 assembled or $120 as a
kit."
Circle 571 on inquiry card.
A Source of Neat Ideas
Persons interested in discovering the
functional characteristics of a well
thought out editing terminal design
would do well to look at the new
"2645A Display Station User's Manual,"
publication number 02645-9000 1, put
out by Hewlett-Packard Data Terminals
Division. (Inquiries should be addressed
to Inquiries Manager, Hewlett-Packard
Company, 1501 Page Mill Rd, Palo Alto
CA 94304.) This pamphlet of approxi-
mately 40 pages in length is the user's
manual for this microprocessor con-
trolled data terminal with editing capa-
bilities, which make it extremely adapt-
able to numerous practical tasks."
Circle 658 on inquiry card.
A New Tutorial Kit from Motorola
Motorola has announced a new
8 bit 6800 based microprocessor kit
for tutorial purposes called the Edu-
cator II. The unit contains a 128 byte
IN WIRE- WRAPPING <^R) HAS THE LINE. . .
MODEL
WD-30
I
WIRE DISPENSER
■ 50 FT. ROLL OF 30 AWG.
KYNAR WIRE-WRAPPING WIRE
■ CUTS THE WIRE TO LENGTH
■ STRIPS 1 INCH OF INSULATION
AVAILABLE IN FOUR COLORS
WD-30-B BLUE WIRE
WD-30-Y YELLOW WIRE
WD-30-W WHITE WIRE
WD-30-R RED WIRE
EACH
PATENT PENDING
MINIMUM BILLING $25.00
ADD SHIPPING CHARGE $1.00
NEW YORK STATE RESIDENTS
ADD APPLICABLE TAX
®KYNAR PENNWALT
OK MACHINE & TOOL CORPORATION
3455 Conner St., Bronx, N.Y. 10475 (212) 994-6600 / Telex 125091
139
Circle 20 on inquiry card.
programmable memory, a 512 byte
read only memory and a TTL clock
circuit.
An executive program residing in
the read only memory contains rou-
tines for servicing interrupts, program
transfer to and from cassettes, tape
searching programs, and a program to
test the finished kit. The executive
program uses 14 bytes of the program-
mable memory as a scratchpad mem-
ory, leaving 114 bytes for user pro-
grams. An optional 128 bytes of pro-
grammable memory can be added
later.
The Educator II comes with an
aluminum case for $169.95, including
assembly and operating manuals. The
unit is available from Motorola dis-
tributors. For further information, dis-
tributors and computer stores should
contact Motorola HEP/MRO National
Sales Manager, 705 W 22nd St, Tempe
AZ 85282.-
Circle 657 on inquiry card.
Timesharing Software Listing Available
Gregory Research Associates, 1900
Greymont St, Philadelphia PA 19116,
are making available a directory entitled
Remotely Accessible Conversulional Pro-
grams and Data Bases. The price is $28,
which includes three bimonthly updates.
The listing is a guide to thousands
of programs for timeshare users in the
areas of business, engineering and
science. The programs listed are written
in a conversational style which requires
no special knowledge of computer
languages. Users pay only for those
programs used based on rates listed
in the directory. Programs are received
via standard telephone lines; some
require terminal data rates of 120
characters per second."
Circle 653 on inquiry card.
A Processor Board with Expanded
Features
Morrow's Micro-Stuff, POB 6194,
Albany CA 94706, announces an Altair
bus compatible plug-in processor board
designed to expand the capabilities
of existing 8080a microcomputer sys-
tems. Available for $325 assembled or
$250 as a kit, the board offers two spe-
cial features. The first enables the user
to step through a program at a rate
variable from 1 to 65,000 steps per
minute. The second feature prevents
the 8080a processor from shutting
off after a HALT instruction. While
in this state, registers, memory and IO
locations can be examined and altered.
A built-in 12 pad keyboard and 10 digit
readout are included on the board."
Circle 654 on inquiry card.
A New 6800 Microcomputer
Evaluation Kit
A new microcomputer evaluation
kit for M6800 systems is now available
from the Integrated Circuit Division of
Motorola Inc. This kit will prove quite
useful to those individuals with a min-
imal budget and a keen interest in
computers.
The MEK6800D2 kit, when assem-
bled, is a fully functional microcomputer
system based on the MC6800 micro-
processing unit and its family of asso-
THE
8700 COMPUTER/ CONTROLLER
An exceptional price on an applications oriented 6503 based micro-processor system
featuring:
► IK bytes RAM locations (512 bytes supplied)
► IK bytes ROM(25G byte monitor included)
► 2 - 8 bit input ports
► 2-8 bit output ports (Hatched, 1 buffered)
► 24 key touch operated keypad (used by monitor
to allow entry & execution of user programs
also user definable. )
► 2 - latched seven segment displays (used by
monitor to display memory location & contents
easily user programmed)
► Optional cassette interface ($22. 50) fits
entirely on the processor board.
THE IDEAL. LOW COST S0L0TI0N TO IMPLEMENTING ALL
THOSE WILD COMPUTER BASED CONTROL SYSTEMS
YOU'VE BEEN DREAMING OF!
PAIA software currently available or under
development includes: Music synthesizer
interface: Home applications package including:
multi-zone fire/burglar alarm, real time clock,
energy saving heat/air conditioning control,
computer generated 'tloor-beH": Model roalroad
controller and more
8700 COMPUTER CONTROLLER KIT $149.95
(requires 5v. (» 1. 2A. ; 12v. @ 150 ma. )
Shipped direct from PAIA (add $3. 00 postage)
ELECTRONICS • DEPT. 7 0 • 1020 W. Wilshire Blvd. • Oklahoma City. OK 73116
Also available at FULL- LINE Computer stores.
Circle 49 on inquiry card.
140
ciated memory and IO devices. It is
made up of two basic units, a micro-
computer module, 9.75 by 8.3 inches
(24.8 by 21 cm), and a keyboard and
display module, 10 by 6.25 inches
(25.4 by 15.9 cm). The keyboard and
display module also contains audio
cassette interface circuitry for the
Kansas City Standard, 300 bps redun-
dant phase encoding.
The display consists of six 7 segment
LED readouts that display four address
digits and two data digits in hexadeci-
mal format. The keyboard is hexadeci-
mal with eight additional command
keys.
Also included in the kit's three-ring
binder is an assembly manual that
covers testing, schematics, "JBUG" mon-
itor program listing and parts listing.
An M6800 Programming Reference Man-
ual and the M6800 Microcomputer
A Summary Detail of the MEK6800D2
The eight command keys are:
M Examine and change memory.
E Escape from operation in progress.
R Examine contents of processor registers P, X, A, B, CC and S.
G Go to specified program and begin execution.
P Transfer programs or data from memory to cassette tape.
L Load memory from cassette tape.
I\l Trace one instruction.
V Set (and remove) breakpoints.
The Microcomputer Module includes the following devices:
1 MC6800 MPU
1 MCM6830 read only memories with JBUG monitor (SCM44520P)
3 MCM6810 programmable memories (128 by 8 for 384 bytes total)
2 MC6820 peripheral interface adapters (PIA)
1 MC6850 asynchronous communications adapter (ACIA)
1 MC6871 B clock generator
In addition, the board has been engineered to accept the following optional
devices (not included with the kit):
2 MCM6810 programmable memories (128 by 8)
2 MCM68708 erasable read only memories
3 MC8T97 buffers
2 MC8T26 bidirectional buffers
Custom expansion on the Microcomputer Module by the homebrewer is
simplified by a wire wrap area that will accommodate two 24 pin and
twelve 16 pin sockets. The JBUG monitor read only memory can be re-
placed by a Mini Bug II read only memory for RS232 interface to other
peripherals.
System Design Data book are also part
of this package. The kit may be used
"as is" or expanded to a full 64 K
system through addition of buffers
(and minor modifications of on board
memory decoding).
Cost of the kit is $235, and it is avail-
able from Motorola Distributors. The
5 V, 2 A power supply and cassette
recorder required by this device are not
included, and can be purchased locally."
Circle 655 on inquiry card.
A New Prototyping Board
_JUfe ■ ■
, !#MWH!|lllLi
mih ma »HAig*Tny "• •"
fiWHMBfl^^^MV ■
■■■.\V.\. .:.'-: , ;
•■• ■ .,...-..,-.
' ;;''>:3':?^-:^^^ggfflB9|l
safe.. . . -
-" SiiiiSBilHiil
mm%M5!^*$*mii
^mmmmmmM\
life.
:;rSii&i5iHf»tO&|
ISliSItlfiSK;;: :.
. .. ■ .:.:■. . :■ '..:... .' .. ' ,\ '.
=■ eftaaM&fer
~ itmmnmmti
A new general purpose printed circuit
board for the experimenter is avail-
able from World Wide Systems Corpor-
ation, 8305 Private La, Annandale VA
22003, for $24.95 postpaid. The 100
pin board is Altair bus compatible
and features two gold plated 36 pin
IO strips. A portion of the board has
been reserved for the installation of a
voltage regulator and heat sink; the
power bus, ground plane and pins are
labelled. Board dimensions are 5.125
by 10 inches (13.02 by 25.4 cm).
The board can be used with point to
point solder connections, wire wrap
or a combination of the two. With this
tool the experimenter can try his hand
at designing custom peripheral inter-
faces."
Circle 656 on inquiry card.
INTERNATIONAL DATA SYSTEMS, INC.
400 North Washington Street, Suite 200
Falls Church, Virginia 22046 USA
Telephone (703) 536-7373
S100 Bus Cards (ALTAIR/IMSAI Compatible)
88-SPM Clock Module
USES
88-UFC Frequency Counter Module
88-MODEM Originate/Answer MODEM
GENERAL PURPOSE PERIPHERALS
MCTK
TSM
DAC8
Morse Code Trainer/Keyer
Temperature Sensing Module
Your computer keeps time of day regardless ol what program it is executing.
Applications include event logging, data entry, ham radio, etc. Provision for
battery backup is included
Measure frequencies up to 600 MHz or period with 1/10 microsecond resolu-
tion. Computer can monilor four separate inputs under software control.
Use your computer to call other computer syslems such as large timesharing
systems. Also allows other computer terminals to "dial-up" your computer.
Auto-dialer is included so your computer can call other computers under soft-
ware control. Operates at 1 10, 134.5. 150. 300, and 600 band.
Hard/Software package which allows your computer to teachMorse Code, key your
transmitter, and send prestored messages. Uses "NEW CODE METHOD" for training.
Use it to measure inside and/or outside temperature for computerized climate
control systems, etc.
Requires one eight bit TTL level latched parallel output port Use it to produce
computer music or to drive voltage controlled devices
KIT PRICE
$96.00
$179.00
$245.00
$29.00
$24.00
Eighl Bit Digital to
Analog Converter
Terms: Payment with order. Shipment prepaid. Delivery is stock to 30 days. Write or call for detailed product brochures.
$19.00
141
Circle 50 on inquiry card.
Christopher D Glaeser
3904 NW 15th St
Gainesville FL 32605
Programming Ouickies
Novel 8 Bit Multiplication
Here is a I byte multiplication routine
that was submitted by Christopher D Glaeser
for use on an Intel 8080 along with his idea
on how to save memory space and execution
time. Working on the premise that one of
the main problems with many multiplication
routines is that they must call another
routine to perform a double byte shift, he
uses the DAD H command of the 8080 to
surmount this difficulty. The DAD H com-
mand performs the double byte shift by
adding the HL register pair to itself. This
saves having to call another routine to
perform this function. The operands are
loaded into the C and D registers prior to
calling the subroutine. The resulting answer
is placed in the BC register pair. All of the
numbers in this listing are in octal.
Address
Op
Operand
Label
Mnemonic
Commentary
006000
325
PUSH D
1 save original values of registers
J on stack;
006001
345
PUSH H
006002
132
MOV E,D
E:=first operand;
006003
026
000
MVI D.000
)
006005
152
MOV L,D
006006
142
MOV H,D
> initialize registers;
006007
006
010
MVI B.010
)
00601 1
171
MOV A,C
A:=second operand;
006012
037
LOOP
RAR
A:=A/2;
006013
322
017 006
JNCSKIP
if CY:=0go to SKIP;
006016
031
DAD D
else HL:=HL+DE;
00601 7
353
SKIP
XCHG
exchange HLwith DE;
006020
051
DAD H
HL: = HL*2;
006021
353
XCHG
exchange HLwith DE;
006022
005
DCR B
B:=B-1;
006023
302
01 2 006
JNZ LOOP
if CY:=0go to LOOP;
006026
104
MOV B,H
else B: = H; [high order 8 bits of answer
006027
115
MOV C,L
C: = L; [low order 8 bits of answer)
006030
341
POP H
[ restore original value of register
006031
321
POP D
006032
311
RET
return to calling program;"
COMPUTER ENGINEERING
THE MIDNIGHT SPECIAL . . .
... a full color limited edition poster
Jones fantasies.
for your Casey
The poster is 1 6V2 by 21 Vi inches (41 .9 by 54.6 cm) with
a white border. The colors are the same as the original
by Robert Tinney, which graces our July cover, minus
the BYTE logo. The price is $3.00, plus 50* postage. It
is shipped unfolded, in a mailing tube.
ORDER NOW. SUPPLIES ARE
LIMITED.
BITS Inc
70 Main Street
Peterborough NH 03458
□ Bill BankAmericard
□ Bill Master Charge
No
Posters $3.00 each
plus $ .50 mailing
□ Check Enclosed
$
Exp. Date
Mame_
In unusual cases, processing may exceed 30 days.
Address,
City
.State Zip_
I- J
Circle 51 on inquiry card.
142
The volume we've been waiting for!'
The Best Of BYTE, Volume I
The answer to those unavailable early issues of BYTE. Best of
BYTE, Volume I, edited by Carl Helmers Jr and David Ahl. This
384 page book is packed with a majority of material from the first
12 issues. Included are 146 pages devoted to "Hardware" and
how-to articles ranging from TV displays to joysticks to cassette
interfaces, along with a section devoted to kit building which
describes seven major kits. "Software and Applications" is the
other side of the coin: on-line debuggers to games to a complete
small business accounting system is included in this 125 page
section. A section on "Theory" examines the how and why behind
the circuits and programs. "Opinion" closes the book with a look
ahead as to where this new hobby is heading. It is now available
through BITS Inc for only $11.95 and 50 cents postage and
handling.
Here is just a taste of some of the titles to be found in the Table of
Contents, from the nearly 70 that appear there:
The Shadow, Buck Rogers, and the Home Computer Gardner
The State of the Art — Helmers
Could a Computer Take Over? — Rush
A Systems Approach to a Personal Microprocessor — Suding
Programming for the Beginner — Herman
Magnetic Recording for Computers Manly
Assembling an Altair 8800 — Zarrella
Build a 6800 System With This Kit Kay
The Digital Equipment LSI-11 — Baker
Flip Flops Exposed — Browning
Keyboard Modification — Macomber
Build a Television Display Gantt
Build a Fast Cassette Interface — Suding
Add a Kluge Harp to Your Computer — Helmers
Write Your Own Assembler Fylstra
Design a On Line Debugger Wier and Brown
Processing Algebraic Expressions — Maurer
Total Kitchen Information System Lau
A Small Business Accounting System — Lehman
Books of Interest
Magazines
Circle 51 on inquiry card.
Best of BYTE, Volume 1
Send to:
Bits, Inc.
70 Main Street
Peterborough NH 03458
Check Payment method:
My check is enclosed
Bill my MC No..
-Bill my BAC No..
. Exp. date .
Exp. date .
ixiame
Address
Citv
State
Zip Code
Signature
. books
You may photocopy this page if you wish to leave your BYTE intact.
Price of book $11.95
Postage, 50 cents per book for_
Grand Total
Prices shown are subject to change without notice.
All orders must be prepaid.
In unusual cases, processing may exceed 30 days.
143
Gourmet Reading from BITS
» M ^k> c%&
""t<:elfoi
Software
Gourmet guide |
(^fcook
^KHW iwrtiw
Scelbi
Software
Gourmet Quide
<5goki
9ook
S
HUM (WWIillU
coNiuiMO mt.
-Scelbi "6800" Software Gourmet
Guide & Cookbook
-Scelbi "8080" Software Gourmet
Guide & Cookbook, both by Robert Find-
ley. Have you tried cooking up a program
lately on your 6800 or 8080 processor?
Have you needed a dash of ideas on how to
add spice to a program? Then the Scelbi
"6800" Software Gourmet Guide & Cook-
book and the Scelbi "8080" Software Gour-
met Guide & Cookbook may prove to be
quite useful additions to your library.
Both books contain a wealth of informa-
tion on the 6800 and 8080 instruction sets,
plus general programming techniques ap-
plied to the 8080 and 6800, conversion rou-
tines, floating point routines, decimal arith-
metic routines, and much more. Order yours
today and get a taste of what your processor
can do. Both books are priced at $9.95
each.
■■■■■■■■■■■■
BDMEDJCflL ,
ELECTRQNICSi
IffiMBI
■ ■■■i
■ ■■■i
■■■■■■i
!■■■■!
II
II
■nmmmnmBi
■■■■■■■■■■■■■■■■■■■■■i
--■■■■■■■■■■■■■■■■i
■■■■■■■■■■■■■■■■-
^.Security Electronics by John E Cun-
ningham. To catch a thief, apply liberal
doses of ingenuity and a modicum of
cleverness. Find out what's been tried in
conventional alarm systems before you go
off computerizing your home security sys-
tem, though. New 2nd edition $5.95
Introduction to Biomedical Elect-
ronics by Edward J Bukstein. What's been
done in robot doctors? Nothing so far. But
in terms of electronic aids to physicians and
practices of health researchers, consult this
background review of the field of biomed-
ical electronics $5.95
-Practical Microcomputer Program-
ming: The Intel 8080 by W J Weller, AV
Shatzel, and H Y Nice. Here is a comprehen-
sive source of programming information for
the present or prospective user of the 8080
microcomputer, an architecture which ap-
pears in the MITS Altair, 8800, Processor
Technology SOL, I MSA I 8080, Polymor-
phics POLY-88, and other popular micro-
computer system products.
After several preliminary chapters, the au-
thors get down to practical details with top-
ics such as moving data, binary arithmetic
operations, multiplication and division, use
of the stack pointer, subroutines, arrays and
tables, conversions, decimal arithmetic, vari-
ous 10 options, real time clocks and inter-
rupt driven processes, and debugging tech-
niques. Most examples are given in symbolic
assembly form, with occasional listings of
assembled code using a Computer Automa-
tion software development system.
This 306 page hardcover book is well
worth its $21.95 price and should be in
every 8080 or Z-80 user's library.
Send to:
BITS, Inc
70 Main St
Peterborough NH 03458
Check payment method:
My check is enclosed
Bill my MC No.
Bill my BAC No.
Exp. date
Exp. date
Total for all books checked
Postage, 50 cents per book
for books
Grand Total
$
$
Name
Address
City
State
Zip
Signature
You may photocopy this page if you wish to leave your BYTE intact. In unusual cases, processing may exceed 30 days
144
The Thinking Computer: Mind Inside
Matter by Bertram Raphael. Artificial intel-
ligence, or Al, is the branch of computer
science concerned with making computers
"smarter." It is a growing, vital field that is,
unfortunately, the subject of much popular
misunderstanding. The Thinking Computer:
Mind Inside Matter is a lucid introduction to
Al that does much to overcome this mis-
understanding. With a minimum of technical
jargon, this book discusses the capabilities
of modern digital computers and how they
are being used in contemporary Al research.
It discusses the progress of Al, the goals,
and the variety of current approaches to
making the computer more intelligent.
S6.95.
Projects in Sight, Sound, & Sensation
by Mitchell Waite. Dedicated "to all space
cowboys." Detailed theory and practice of
seven fascinating amateur electronics proj-
ects, along with a complete and detailed ap-
pendix on how to make PC boards. The
projects included in this book are: The
Syntheshape, an art generator that can be
used to generate innumerable complex and
beautiful patterns on the screen of an oscil-
loscope. An electronic music box that will
play over 3000 possible melodies when the
lid is lifted. A way to control muscle tension
explained in chapter 4. A muscle-wave bio-
feedback monitor can be used to achieve
deep relaxation. The laser-light show trans-
fers light into fascinating patterns in a dark-
ened room. Other projects include a Kirlian
camera, a digital ESP machine, and neon-
light randomizer. $5.25.
Mind
Massagers
from BITS
The Great International Math On Keys
Book, from Texas Instruments. Do you
need a numerical algorithm for calculating
exchange rates in a hotel on a foreign trip?
Or figuring those mysterious "points" when
facing the sanctimonious charisma of a
banker at mortgage time? This book is a
compendium of simple explanations and
step by step procedures for accomplishing
numerical solutions to numerous com-
monly encountered situations in daily life.
Each entry is characterized by a statement
of the problem, including the elements of
theory required, and the keystrokes needed
to solve the problem on an algebraic entry
calculator. This is an invaluable sourcebook
of information for the person who is in-
clined to manipulate numbers. $4.95.
How to Solve Problems by Wayne A
Wickelgren. When confronted by a problem,
many of us spend more time puzzling over
how to solve it than in actually doing so. This
book analyzes and systematizes the basic
methods of solving mathematical problems.
The methods are described in terms of a
modern theory derived from research in
computer simulation of thinking. Examples
illustrating these methods include chess
problems, logical puzzles, and railroad
switching problems frequently encountered
in science and engineering. Whether your in-
terest in solving problems is professional,
recreational, or both, you will find this a
helpful book. S6.50 softcover.
CKESS SKILL
mmm
QdtMby PcturW.Frey
; *
it
k', | i
IB
Chess Skill in Man and Machine edited
by Peter W Frey. This is a most fascinating
book, concerning itself with the when, how,
and why of computer chess. The when de-
scribes past ACM computer chess tourna-
ments, with the details of more than a doz-
en games. The how consists of the basics of
both human chess skill and computer chess
theory. It includes a detailed description of
the best computer chess program to date
(Northwestern University's CHESS 4.5), an
end game program called PEASANT, and of
various search strategies and heuristic com-
puter chess theory which should enable one
to write his own chess program. The book
ends with the why concerning the contribu-
tions, now and in the future, of computer
chess to understanding artificial intelligence,
human intelligence, and learning. The only
difficulty for the hobbyist's computer chess
program is the need for a large computer for
the fast processing of search strategies and
large core storage for the program and its
results. $14.80 hardcover.
Send to:
BITS, Inc
70 Main St
Peterborough NH 03458
Total for all books checked
Postage, 50 cents per book
for books
Grand Total
Check payment method:
My check is enclosed
Bill my MC No.
_Bill my BAC No.
Exp. date
Exp. date
Name
$
$
Address
City
State
Zip
Signature
You may photocopy this page if you wish to leave your BYTE intact. In unusual cases* processing may exceed 30 days
145
Circle 51 on inquiry card.
Continued from page 11
sets a very high goal for us. When your
latest program crashes, a poster like this
on the wall could give you the inspira-
tion to hit the restart button and try
again.
I find that I can justify my activities
in small computing a lot easier when I
can point to an illustration like this than
through the idea of the "ultimate toy."
One picture is indeed worth a thousand
BYTES.
Robert J Retelle
2005 Whittaker Rd
Ypsilanti Ml 49197
WHY NOT 8 TRACKS?
I am curious to know why 8 track
tapes are not used for memories instead
of cassettes. I would think that by using
one channel for a clock track you could
have memory locations via a clock track
counter. Also by moving from track to
track, access time would be saved, would
it not? Please elaborate.
Kurt Kramer
8634 Lake Isle Dr
Tampa FL 33617
Sounds like a good idea. I once saw
a surplus automated cartridge turret
mechanism which had been used by a
radio station. This mechanism, which
its owner intended to refurbish, would
be used for an on line storage system of
rather large capacity based on the wide
tape cartridges similar to an 8 track
stereo cartridge. Maybe a reader will
pick up on this and try it out, reporting
the results as an article.
RETROSPECTIVE: BYTE'S
PORNOGRAPHICPHOTOS MARCH ON
Never thought that BYTE would go
in for pornography. But without the
benefit of a G-slring, you show on
page 54 of the March 1977 issue a bare
soldering iron. Soldering irons without G
can certainly corrupt innocent com-
puters. Since your local Sears or Radio
Shack do not generally bother to stock
properly grounded ones, beginners should
be warned.
Sholom Kass
567 Baden Av
San Francisco CA 94080
The G-string mentioned in Sholom
Kass's letter is the ground wire of
a 3 wire 110 V interface for power.
It is standard industrial practice to
use such grounding, especially where
delicate parts such as microprocessors,
and other LSI or CMOS gates are being
used. The static charge which a normal
human being can build up in a dry
room with rug and rubber soled shoes
can drive a spark across a considerable
gap, and is measured in many tens of
thousands of volts.
SOME NEWS FROM DEUTSCHLAND
My involvement with micros began
when one of your associates, Dan Fylstra,
gave a talk at IFIP/IFAC in Paris last
summer, in which he managed to men-
tion the Motorola 6800, the MOS Tech
6502, and also gave an example of a pro-
gram in PL/M. On coming back to Darm-
stadt, I found two groups of people at
our facility who were interested, nearly
all professional computer engineers. One
of them, Asbj0rn Smitt, had already
worked on a 6800-based system which
we use for simulating satellite telemetry
data; another, Heimuth Werthmann, had
his own business and had already built a
6800-based system. So our choice as a
club was somewhat inevitable. Asbjflrn
had bought the EVK 100 and the
SWTPC AC-30 cassette controller, and
we very nearly went EMI, but then the
prices sort of doubled, so we went with
OSI instead after our chairman, Graham
NEW 8080 and 8085 REFERENCE GUIDE
A TOTALLY NEW CONCEPT!
SAVES TIME AND MONEY!
MAKES YOUR JOB EASIER!
A powerful new tool for every serious 8080 user — professional and novice alike.
Priceless timesaver for engineers, technicians, and programmers. Saves time and
money in the lab, on the production line, or in the field.
Convenient pocket size — 3% by 7% inches — gives quick and easy access to all vital
reference data. No more searching here and there for codes, instructions, or definitions.
It's all there — at your finger tips — everything you need to successfully use the 8080A
and — Intel's new 8085 microprocessor.
Features cross listing, for rapid assembly and disassembly, of MACHINE CODES and
MNEMONICS • Concise description of 8080 and 8085 OPERATIONS, SIGNALS,
PINOUTS, and INSTRUCTIONS • Convenient cross conversion of OCTAL,
HEXIDECIMAL, DECIMAL, ASCII, and EBCDIC codes • Easy-to-read tables of powers
of two, eight, and sixteen . . . and much more . . .
Sturdy • Handsome • Easy-to-use • Data Packed
Your timesaver will give many years of professional service.
$12.95 each (plus postage & California sales tax) — 25% discount for 4 or more.
MoneyBack Guarantee: You must be fully satisfied or simply return the guide within 15 days for full and prompt refund.
URBAN INSTRUMENTS
4014 CODY ROAD • DEPARTMENT C1 •
SHERMAN OAKS • CALIFORNIA 91403
master charge
BANKAMERICARD
PLEASE SEND.
NAME
STREET
.8080 ti mesa vers to:
CHECK/M.O. ENCLOSED D BANKAMERICARD □ MASTER CHARGED
CARD NUMBER
C|TY GOOD THRU 4 DIGITS ABOVE NAME
(MASTER CHARGE)
STATE
.ZIP SIGNATURE
Circle 52 on inquiry card.
146
Else (whose main interest is biological
monitoring), had convinced everyone we
needed something which could be
started off cheaply. (In the end Graham
is at the Rolls-Royce end of the market,
with a Digital Group Z-80.) I had bought
a SCAMP, which to my astonishment
worked first time despite some startup
trouble which we attributed to the
rather bulky socket for the CPU, and
which eventually I hope to work up into
a controller for the Selectric I'm typing
this on. Our club is now about 40 strong,
with considerable purchasing leverage
since there are believed to be about 30
people actively buying components (25
OSI superboards, 16 Selectrics, which
was all I could get in my Volvo the last
time I went to England, and if you know
anything about the quaint European cus-
toms, avoid Belgium), and of course our
own BYTE archive. We are also in contact
with John Barnes, a founder and mem-
ber of the British Amateur Computer
Constructors' Association, and having
heard of the success he has had in using
standard 8 track cassettes with short
endless loops and saturation recording,
I have ordered a few for experiment.
Graham and Helmuth in the meantime
are working on Philips cassettes.
Things would probably have started
more slowly had it not been for the
impact of BYTE and the fact that Jack
Davies, the guy running PACS, lives in
Darmstadt with a perpetual fount of
goodies which are available for inspection
and (usually) instant purchase. The only
complaint we have about OSI is that
they have never dished out the listing of
the Superbug monitor; so this has now
been decompiled using the Thomson
Lister (running on the first of our club
machines, built by Bob Dees of ICL),
and another program running on our
4/72. (ICL, not Amdahl!) I guess our
next move is to find out if Tom Pittman
has an OSI version of Tiny BASIC yet.
I suppose the next move would be
for us to get some sort of European con-
vention going. It would be nice if I could
appeal through your pages for any
hobbyist clubs in Europe who would be
interested in attending such a thing, or
indeed if anyone is prepared to offer a
site which is fairly central. There have
been two attempts to get Europe-wide
hobby clubs formed, but in both cases
the impulse has come from the hobby
industry rather than the hobbyists, who
tend to view (other people's) commercial
bias with suspicion. If we forget the
launches which are scheduled for this
year ESA can probably be persuaded to
host it if we hear from enough people,
but obviously we are equally curious if
anyone has a 72 character graphics cum
VDU interface for 625 line TV receivers,
or a meta-assembler capable of compiling
code for more than one micro, and so
forth. Incidentally, why use OMEGA
when there are satellite systems, like
LORAN-c? [Ralph Burhans is busy at
work on a LORAN-c interface . . . CH/
Good luck to BYTE, may it grow
ever heavier, and perhaps sprout a Euro-
$699 builds
Equinox 100™
ki*A^L*ir
THE :
FRONTRUNNER*
Equinox 100™is the 8080 CPU/S-100 Bus computer kit that's
years in front of Altair* and IMSAI in design, function and front-
panel programming capability. EquinoxlOO is easier to build,
easier to program, easier to expand in the future and complete-
ly debugged right now. After all, it's from Parasitic Engineering,
the leading supplier of debugging kits for the Altair* 8800. Be-
fore you invest in any micro-processor kit, discover the new
Equinox 100™ At $699, it's clearly The Frontrunner. Write for
free specs to Parasitic Engineering, P.O. Box 6314, Albany,
CA 94706.
liTJ 37t1 ii rid II ITiTUfl IflTi I ■ **.\r. Li HTiril 3iTU
"A trademark of MITS Inc.
Circle 53 on inquiry card.
147
SUPER DENSE
GRAPHICS
320 Horizontal by 200 Vertical
V-»"**C0S<2tX/b)
•■.•I, b-42.86
IF YOUR COMPUTER w 'O'
CAN'T SHILE (OR
PLOT) IT PROBABLY "
NAB NERLIH DEFICIENCY V
ANEHIA. \ ^j—^y
<E0UATI0H PLOTTED HITH BASIC)
The MERLIN Super Dense add-on kit
provides maximum resolution at a
minimum cost. In fact, MERLIN with
Super Dense has more capabilities than
any other S-100 bus video interface at
any price!
Once you've seen 'Super Dense'
graphic resolution you'll know there is
nothing to compare it to . . . short of
spending over $600 . . . and even then
you'll not have all of the capabilities of
MERLIN with 'Super Dense'.
Super Dense provides true bit-
mapping. Each and every point on the
screen is controlled directly by a bit in
memory. (Requires 8K of system
memory.)
ROM character-graphics looked good
for a while; then came MERLIN'S 160 by
100 bit mapping graphics; and now . . .
320 by 200 bit-mapping graphics! ! !
If you're looking for a graphic display,
MERLIN with Super Dense is the best
there is. And if you hadn't considered
graphics or thought it was out of your
price range, consider what you could
do with 320 H by 200V graphics and for
only $39 extra.
The Super Dense add-on kit to the
popular MERLIN video interface Is now
available with off-the-shelf delivery.
M320-K, Super Dense Kit $39
M320-A, Super Dense Assm. . .$54
See MERLIN ad on previous page.
For information fast, write direct, or
see 'Super Dense' at your nearest
computer store.
MC and BAC accepted.
MiniTerm Associates, inc.
01730 1617) 0m l.'lll)
Circle 38 on inquiry card.
pean edition with the addresses of
outfits here.
Ian McNicol
Waldstrasse 18
6101 Lichtenberg GERMANY
IMPRESSED, BUT
I was impressed with "The Built-in
Logic Tester," Kurt Christner's article in
the January issue, page 82. He had an
idea for a super logic probe, considering
the cost.
But what about those amateurs
among us who have need of a CMOS
probe rather than TTL? I would like to
challenge Kurt to come up with an
equally fine project for us nontechnically
inclined who could really use a good
quality, low cost CMOS probe.
By the way, I'm brand new with the
January issue and I like what I see. It's
a great magazine.
Tom Kryst
212 Princeton
Alpena Ml 49707
COMPUTER POSSIBILITIES IN
SECONDARY SCHOOLS
Attached is something that appeared
recently in Science News (see page 168,
March 12 1977 issue) which is a semi-
popular weekly publication. What I
found particularly interesting was the
section concerning this year's winners
of the national Science Talent Search.
Of the ten winners, notice that four
of them used computers in some capac-
ity. Thinking back on my science fair
entries of 20 years ago, such a thing
borders on the inconceivable . Until
very recently computers and computer
time were so expensive that the eco-
nomics of the situation precluded any
but the work which had a very high pro-
bability of research or financial return.
Therefore such investigations as these
by high school students were impossible
to justify on the basis of what they
might produce.
Perhaps one of the things that those
of us involved with the microcomputer
and personal computing revolution tend
to forget is that to most of the academic
and scientific world at large, computers
are simply tools to an end in whatever
discipline is being pursued. Just think
of what the possible benefits are should
virtually limitless, although perhapsslow,
computing time become available to any
interested individual, such as these high
school students. A local school could
put together quite a respectable system
of moderate capability for, say, 10 K
bucks, and then allow appropriate stu-
dents to pursue their interests generally
unhampered by the restraints of financial
return. The leap ahead in science educa-
tion (and possibly science related areas
of liberal arts) is truly mind boggling!
Robert R Wier
POB9209
College Station TX 77840
148
I HATE BASIC, A POISON
KEY LETTER
I wish to express my appreciation for
your publication. For me, it has helped
open the door to a new and fascinating
world.
I wish to pose a general question. Why
is it that, with all too few exceptions,
the thrust of what might be called
"microcomputer applications for the
nonprofessional" seems to be lost in
an endless loop called "games written
in BASIC"? And as a corollary, one
might well ask the question, "Of what
redeeming social value is the latest
listing of Star Trek?".
The Pong-Trek-Toe mentality seems
to be ubiquitous; lift any magazine cover
and underneath, in the table of contents,
will be found an article dealing with
games written in BASIC.
This is most assuredly not an attack
upon BYTE magazine. It most assuredly
is an attack upon the paucity of imagina-
tion manifested by microcomputer
owners.
For every ten serious articles appear-
ing in BYTE which are devoted to the
embarrassment of riches in hardware
being placed within reach, there is per-
haps one serious and informative article
devoted to software concepts. The term
"concepts" should be emphasized; an
assembly language listing for a specific
microprocessor is not the expression of a
concept.
The lack of interest in software con-
cepts coupled with the overweening
interest in amusing trivia does not speak
well for the present state of the amateur
group, from which emanates a great talk
about "being in the vanguard of a revolu-
tion." Most of this talk is vainglorious
nonsense.
At the present time, the only groups
doing things worthy of the adjective
"revolutionary" are the microprocessor
manufacturers and the microcomputer
system designers. For the purchaser of
such riches to sit around playing Star
Trek in BASIC borders on the perverse;
to ascribe to such apathetic behavior
the word "revolutionary" is a caricature.
It seems that the amateur group has
been handed BASIC on a silver platter
and is content to view it as the program-
ming language. This is unimaginative at
best.
The reason for being of microcom-
puter BASIC is simply to provide a
workable language so that people will
buy microcomputers. Insofar as I know,
no one has ever claimed that BASIC
uses the resources of a system organized
in 8 bit words to its maximum benefit;
BASIC has appeared on the microcom-
puter scene simply by default. It works
and it is easy to learn and use. It sells
microcomputers.
If Star Trek is the desired goal of our
collective amateur ambition, then BASIC
is sufficient; we need look no further.
However, if we wish to exploit the
limited resources of the microcomputei
in specific ways, looking toward specific
nontrivial goals, then new programming
languages should be written. There
surely exists a diversity of ideas as to
what constitutes good microcomputer
programming languages. Attemptsshould
be made to implement these ideas. We
cannot sit back and wait for commercial
organizations to do all the development.
Most of all, we need software con-
cepts. Memory management concepts.
Data manipulation concepts. Algorithms
for mathematical functions.
What is a heap? How does it work?
What does its presence imply about the
philosophy of a language which uses it?
If, for every page devoted to Star
Trek listings and other compatible
endeavors, BYTE published a page
devoted to software concepts, then we
would all soon be the richer.
However, BYTE magazine cannot
prosper by serving up beefsteak if the
readership is clamoring for canned pork
and beans.
From time to time, in various maga-
zines such as BYTE, there appear wild-
eyed letters to the editor accusing the
programming profession of clannishness,
a lack of willingness to share ideas,
secretiveness and a general depravity.
Such letters always imply that we,
the amateurs, are pure of heart and clean
of hand. Is this true, or is it rather that
we are so numbed by sitting around
playing with BASIC (implemented by
professional programmers) that we really
just don't have much of any deep worth
to share with each other, and seek to
hide the fact by freely sharing what little
we do have. Perhaps purity of heart and
cleanliness of hand grow as the inverse of
the amount of real knowledge which is
available for sharing.
Why the great emphasis upon BASIC?
One would think that most microcom-
puters are hard wired for it. Have we no
alternative ideas to explore? Is the
fixation upon BASIC a result of its
inherent superiority as a programming
language for microcomputers, or is
it due to a lack of knowledge concerning
possible alternatives? The set of "pos-
sible alternatives" is not the universe of
FORTRAN. We do not need FOR-
TRAN. We do not need miniaturized
versions of languages originally designed
for implementation upon much more
sophisticated hardware. We need lan-
guages based upon the material at hand:
8 bit word length microprocessors with
relatively primitive instruction sets.
While the Micro-Soft venture into
APL represents a noble undertaking, it
nevertheless embodies the faulty reason-
ing that, "If a language implemented on
big computers is a good thing, then its
implementation on a microcomputer
must be equally good." In a 64 K sys-
tem, what percentage of memory is
required to support APL? What is left
over for the user?
The microcomputer needs software
which is conceived of in terms of the
microprocessor. We, the amateurs, need
to get up off our hind legs and do some
thinking about language concepts.
In the future, is the personal micro-
computer to be regarded as a tool For
learning, or is it to be a toy in front of
which the owner sits, glassy eyed,
playing the latest game written (by
someone else) in BASIC?
JackCluff
34-57 73rd St
Jackson Heights NY 11372
What Are Riches For, If Not to
Enjoy and Prosper By?
Regarding the BYTE magazine con-
tent, I seem to hear comments from all
directions concerning too much of this,
too much of that, not enough of this.
Some say too much hardware, some say
too much software - so the conclusion
can only be that the balance is a good
approximation of what is needed.
No one ever seriously should think
of FORTRAN or BASIC as the "be-all
and end-all of high level languages. "
We do have demonstrated interest and
familiarity on the part of users with
these languages due to their widespread
past usage. But, if you want to write an
interpreter or compiler, starting with
an existing language is a shortcut (quite
independent of marketing considera-
tions) that bypasses the need to generate
an unambiguous grammar and precise
semantics of a new language from
scratch.
Of course, the ultimate is to use an
already established language for which
you have an interpreter or compiler.
The fact that I can use my BASIC for
an occasional recreation or game by no
means prohibits my use of that lan-
guage for such "unnatural" things as
systems programming. I know of at
least one 8080 assembler written in
BASIC, running on an A I lair 8800
floppy disk system at a local college.
Another point worth closing on:
Most professionals arc really amateurs
who have cleverly arranged things so that
they get paid for what they like to do.
The spirit of involvement with the
activity, doing it "right" by some
standard, is what counts . . . CH
1001 TALES OF
ARABIAN BYTES?
Thank you lor a very interesting
magazine. I am a recent subscriber having
just received my first two issues, January
and February 1977, forwarded to me
from Texas. I am unwilling to wait
for boat mail. When subscriptions are
available by air mail to Saudi Arabia I
will enter a subscription immediately
regardless of the mail rates.
I have a small system running and am
interested in all articles about Altair bus
oriented products and 8080 software.
John R Fogle Jr
Box 403, c/o Aramco
Abqaiq SAUDI ARABIA
See the subscription card for foreign
air mail rates. ■
149
Microcomputers
Microprocessors
Made Easy!
MICROCOMPUTERS/
MICROPROCESSORS:
HARDWARE, SOFTWARE,
AND APPLICATIONS
John L. Hilburn and Paul M. Julich —
both of Louisiana State University
Ideal reference for anyone involved
with the design, use, or maintenance
of systems using microcomputers,
including those who have not had a
formal course in digital logic.
Contents: Introduction. Digital Logic.
Number Systems and Codes. Micro-
computer Architecture. Software. In-
terfacing and Peripheral Devices.
Microprocessors and Microcomput-
er Systems. Design Methodology and
Applications. Appendices. Index.
1976 368 pp. Cloth $16.50
MICROPROCESSOR
SYSTEMS DESIGN
Edwin E. Klingman — Cybernetic
Micro Systems, Palo Alto, California
This landmark book in microproces-
sor systems design covers the spec-
trum from gate-level hardware all
the way to language translation and
interpretation.
Contents: Microprocessor Systems
Design — An Overview. Information
Devices. Information Storage De-
vices. Coding and MSI Building
Blocks. A Central Processor Unit
Instruction Set. An LSI Central Pro-
cessor Unit. The Memory Subsys-
tem. The I/O Subsystem. Languages
and Language Translation. Address-
ing Structures. I/O Structures and
Techniques. Interrupt Structures. Di-
rect Memory Access Structures and
Techniques. Microprocessor Archi-
tectural Themes. Appendices. Bib-
liography. Index.
1977 480 pp. Cloth $17.50
For further information, or to order
a copy of either of these vital texts,
please write to: Ben M. Colt, Pren-
tice-Hall, Inc., Englewood Cliffs, New
Jersey 07632.
Prices subject to change without notice.
Prentice-Hall
Technical
Fcpum
APL
Character Sets
The letter from Roderick Montgomery
concerning the availability of a special char-
acter set for APL started some thoughts on
the subject.
Lacking the availability of a PROM type
character generator, there are other ways to
do the job. The methods that come to mind
are building up a generator out of standard
bipolar ROMs, or using ordinary program-
mable memory parts which would be loaded
by the computer at APL initialization time.
The latter idea is especially appealing to me,
since it would allow special characters to be
carried into the machine as part of the
program. Although this would require some
programming, it would not use up main
memory space because it would be read
directly into the character generator.
Charles J Billwiller
231 3B Sierra Madre Ct
Rancho Cordova CA 95670
The use of reprogrammable character
generators for television displays is starting
to occur in products. One of the first
products seen in advertising with this feature
is the ECD Corporation's computer product,
which has just such a user memory definable
character generator. This technique has also
been used by several video games manufac-
turers to achieve high resolution regions for
graphics on a TV raster.'
Is This a Valid Hot Board
Placement Procedure?
A reader has suggested the following
procedure to allow one to plug in and
remove a circuit board while system power is
maintained. We'd appreciate comments from
some of the hardware oriented readers in the
audience about the safety of this algorithm:
Removal of board:
0. Halt processor to avoid software
carnage.
1. Connect jumpers from main supplies
to board terminals to retain power
during removal.
2. Remove board with care about align-
ment.
3. Remove jumpers to power down the
board.
Insertion of a board:
0. Power up the board with jumpers from
main supplies.
1. Insert board carefully to ensure proper
alignment of edge connector.
2. Remove jumpers.
3. Restart processor.
The use of a parallel supply connection to
the board during removal and insertion
operations guarantees that the integrated
circuits will be powered up before any low
impedance driving voltages reach the inputs
of onboard gates. A gate can be blown if
voltages are applied to its inputs prior to the
supply voltages. The common ground of the
supply also eliminates static voltage dif-
ferences between the two boards."
SWTP 6800 0WNERS-WE HAVE A CASSETTE I/O FOR YOU!
The CIS-301- allows you to record and playback data using an
ordinary cassette recorder at 30, 60 or 120 Bytes/Sec! No Hassle!
Your terminal connects to the CIS-30+ which plugs into either the
Control (MP-C) or Serial (MP-S) Interface of your SWTP 6800
Computer. The CIS-30+ uses the self clocking 'Kansas City'/Biphase
Standard. The CIS-30+ is the FASTEST, MOST RELIABLE CAS-
SETTE I/O you can buy for your SWTP 6800 Computer.
PerCom has a Cassette I/O for your computer!
Call or Write for complete specifications
PEFQOM
PerCom Data Co.
P.O. Box 40598 • Garland. Texas 75042 • (214) 276-1968
PerCom — 'peripherals for personal computing'
Kit - $69.95*
Assembled - $89.95*
(manual included)
* plus 5% f/shipping
TEXAS RESIOENTS ADD 5% SALES TAX
150
6ook Reviews
Scelbi's "6800" Software Gourmet Guide &
Cook Book, by Robert Fine/ley, Scelbi Com-
puter Consulting Inc, Mil ford CT, 1976,
514 by 8'A, 226 pages. Softbound, $9,95
postpaid.
I suppose everyone who writes assembly
language programs which eventually work
becomes convinced he or she is the World's
Greatest Programmer. At least I do. Luckily,
there are books like Scelbi's "6800" Soft-
ware Gourmet Guide & Cook Book to
remind us how big the world really is.
Author Robert Findley and associates at
Scelbi have collected here a number of
programming tricks which will interest
almost any 6800 user.
Following a description of the 6800
instruction set and some general techniques,
the author discusses conversion, floating
point and decimal arithmetic, input and
output operations, search and sort routines.
Want an edit program? Many of the pieces
are there: memory clearing, transfer of a
section of memory, ideas for search routines.
Need to process interrupts? The 10 chapter
has a discussion of interrupt processing
which will be useful to anyone using the
Motorola MIKBUG operating system read
only memory. A chapter on conversion
routines contains software for ASCII to
Scelbi
«680©w
Software
|§ourmet guide |
>Cook
Qook
Circle 55 on inquiry card.
MULLEN COMPUTER RDAPrV;
BOX 6214, HAYWARD, CA 94545
3
I
m
m
»
X
m
>
CA
CAVE
:>i,iti>
RELAT/OPIO '
s
ISOLATOR
CONTROL
$H7 *
8 fast reed relays respond to an 8 bit word: Feed
the relay associated with its bit a " 1 " and it closes, give it
a "0" and it opens. Also, 8 opto-isolators accept an 8 bit
word from the outside world and send it to your com-
puter for handshaking or further control purposes.
Especially suited for model railroad, burglar alarm,
audio switching, ham radio, music synthesizer, and auto-
mated display applications, this board goes wherever
you need a general purpose 1/0 switching gizmo.
EXTENDER 2
BOARD 2
W/ LOGIC Z
PROBE$35 <
O
3
8
4L-. Boards are kit form only. Cal res add tax. ^
V*4TIBLE •AVAILABLE BY M*
Whether for troubleshooting or analysis at some point
you'll need an extender board. Ours offers a built-in logic
probe, special edge connector that allows clip lead probing,
jumper links in all supply lines, a non-skid probe. . . plus
good instructions and a realistic price.
enmptek. Boards DO Something
m
It ri.i i 1 1
1 i i i i i i
CL2400
Real Time Clock
S98 — Kit
$135— Assembled
If your system needs to know what time it is, our CL2400 is
the board for you. The present time in hours, minutes, and
seconds is always available for input, and is continuously
updated by the highly accurate 60 Hz power line frequency.
Need periodic interrupts? The CL2400 can do that, too, at any
of 6 rates. Reference manual with BASIC and assembly
language software examples included.
PC3200
Power Control System
=«./
PC3232 $299— Kit $360— Assm.
PC3216 $189— Kit $240— Assm.
PC3202 $39.50— Kit $52— Assm.
If your system needs on/off control of lights, motors,
appliances, etc., our PC3200 System components are for
you. Control boards allow one I/O port to control 32 (PC3232)
or 16 (PC3216) external Power Control Units, such as the
PC3202 which controls 120 VAC loads to 400 Watts. Optically
isolated, low voltage, current-limited control lines are
standard in this growing product line.
'Real World Electronics'
P.O. Box 516
La Canada, CA 91011
(213) 790-7957
151
Circle 56 on inquiry card.
Circle 57 on inquiry card.
SOLD OUT!
That's right, if everybody who read this ad for
our BASIC SOFTWARE VOLUME 1 album
would order one, we'd be sold out! Includes
lots 'n' lots of your favorite Basic programs
such as LUNAR LANDER and BLASTOFF!,
plus new ones like MAILING LIST, FOURIER
FIT and AMPLE ANNIE. Plays through your
Tarbell, Kansas City or Altair cassette inter-
face (we coded all three ways). Or make
cassette copies. Only 6 bucks. Don't be a
dummy, order today! Satisfaction guaran-
teed or money back.
(fcgt0: SOFTWARE RECORDSl
W^S po BOX 8401-B
UNIVERSAL CITY, CA 91508
(CALIFORNIA RESIDENTS: PLEASE ADD 6% SALES TAX)
PLEASE SEND ME N.J. RESIDENTS ADD 5% TAX
□ KD11F □ 1MSAI KIT □ POLY 88 KIT
NAME.
STREET.
CITY
STATE .
. ZIP_
I ENCLOSE □ CHECK
□ BANKAMERICARD #_
□ MASTER CHARGE #_
INTERBANK*.
□ M.O. AMOUNT.
EXP. DATE.
EXP. DATE.
SIGNATURE .
BE SURE TO INCLUDE $8.00 FOR SHIPPING & HANDLING
Mini Computer Suppliers Inc.
25 Chatham Road • Summit, N.J. 07901
Dept. B (201)277-6100
Baudot, as well as the more usual BCD to
and from binary.
For me, the best was chapter 5, "Floating
Point Routines." Although (as the author
notes) there are places where the code could
be shortened, it is not that bad: a complete
add, subtract, multiply and divide package
(with conversions to ASCII, and from ASCII
to floating point) in about 1.5 K bytes of
relocatable code. The entire package is
assembled (the only assembly in the book)
with a hexadecimal listing in an appendix.
One reason the code is so short is the
extensive use made of the index register. The
stack, on the other hand, is not used at all
(except for the automatic usage implied by
each subroutine linkage). Since 6800 in-
dexed addressing is relatively slow, do not
expect the floating point package to be fast.
Yet, it's not bad: Floating point multiplica-
tion, for example, takes a little more than
800 cycles, not quite 2 ms on a SWTPC
6800 system.
One curious feature of the 4 byte floating
point word format used here is that the
words are stored upside down, that is, if the
least significant byte of the mantissa is
stored at word N, then the rest is stored at
N+1 and N+2 (with the sign being the most
significant bit of byte N+2). The two's
complement power of two exponent is
stored at N+3. This is the wrong order for
the 6800 for the following reason: One
(tricky) way to increment a 2 byte word is
to transfer it to the index register and
increment that. The author knows this trick
(as shown on pages 3 to 5), but apparently
does not know that the index register load
instruction LDX transfers the 16 bit con-
tents at memory location M so that the most
significant half of the index register contains
the contents of M, and the least significant
half contains what's in M+1. Thus, the least
significant byte needs to have a greater
address. The division program on page 5 to
19, for instance, might be shortened and
speeded up by using this trick; to do so,
however, would require storing the mantissa
bytes in the opposite order, and rewriting
the program.
The book will be of most use to program-
mers who employ an assembler program,
since most of the ideas are presented in
symbolic source language form. (The major
exception is the floating point package.) The
book is well written and, considering the
diversity of topics, well organized. As a
source of ideas, it is inexpensive at $10."
Jack Bryant
Mathematics Dept
Texas A & M University
College Station TX 77843
Circle 58 on inquiry card.
152
Circle 59 on inquiry card.
Note. . . . Scelbi also publishes an "8080"
Software Gourmet Guide & Cook Book
dr. dobbs journal of
$1.5©
COMPUTER
>alisthenics
b Or
fhodontia
Running Light Without Overbyte
f. JOURNAL (OR USERS OF HOME
i YOU PIjv
With 1:
H(180 TECO inJ i l-'lojlmf! Pmr.i SpecifiCUbrfl Willum f
"S0< SOFTWARE
FLOATING point ROUTINES FOR THE aio; r
Mentor for the 6502 Jitk Brjdiliiw
Unit Laridn for Ihc 6502 (ASKmblcHcw] Gimt)
Mffl) "APPLICaTIOSS SOFTWARE" ftrawl
Cimn in Pinmin'i MOD tiny RASIC Till Ktlli
Low-Gtn ftsoo SytKni 5oftw*« S c™« Tedium.
Shooting Start (or Uiierwyk't 6800 Mian BASIC \).
BBSS rf /7.V£5
MINOL: Tiny Trek - More DCOJll & A Corrcciiun
MINO!. Errata & Priise Erik T Mlielltt . Phillip I-
COMPUTED MUSIC BIBLIOGRAPHY John Sndi, PCC R.
SMRT Will Hun Uroy Finkel
Ijiu Fid.i'i Sttpnnw I" the Editor's Now io ihc SCCS
AND -
Dr Dobb's Journal of Computer
Calisthenics and Orthodontia. Published by
People's Computer Company, Box 310,
Menlo Park CA 94025. Sinq/e issue, $1.50;
one year (1 0 issues), $10.
Published by the people who brought you
the Computer Faire, this toothsome periodi-
cal serves up an amalgam of filling software
listings and highly spiced commentary to its
monthly readership. Dr Dobb's Journal
(Dr Dobb is disguised as editor Jim Warren )
serves as a clearinghouse for new software
information and the publication of such
royalty-free programs as BASIC interpreters
for use by readers. Because it is a nonprofit
journal, DDJ accepts no advertising but does
print new product information as a service
to readers. Editor Warren has attempted to
bridge the gap between computer profession-
als and amateurs, and does not eschew the
occasional biting remark in doing so. In
Robert Benchley's immortal phrase, the
tooth, the whole tooth and nothing but the
tooth about Dr Dobb's Journal of Computer
Calisthenics and Orthodontia is that it can
help make your computer an indentured ser-
vant. That about caps off this review . . .CM
Fundamentals and Applications of Digital
Logic Circuits by Sol Libes, Hayden Book
Co, Roche/ le Park NJ, 1975, 184 pages.
Paperback, $6.95.
If anyone were to ask me to pick a
particular book from my computer book
IBM SELECTRIC
TYPEWRITER
INPUT OUTPUT
CONVERSION KIT
Easy to install on any
IBM Selectric I and II,
providing quality hard
copy output for all
microprocessor devices.
PRICE .... $395
GDITYPER SYSTEMS CORPORATION
A SUBSIDIARY OF TYCOM CORPORATION
26 Just Road, Fairfield, New Jersey 07006 (201)227^1141
M6800 ADVANCED
SYSTEMS SOFTWARE
RT/68®
RT/68II, is mask-programmed on a 6830 ROM that
replaces the Mikbug* ROM in your SWTPC 6800,
Motorola Evaluation Module, etc. It is a powerful real
time, multiprogramming operating system with many
versatile system functions. RT/68® can support up to 16
concurrent programs at 8 priority levels.
MICROWARE has improved the Mikbug* functions,
added four more (Dump, Exec, Sys, Bkpt) and made tape
load and punch program-usable. RT/68® is designed so
programs that use Mikbug* I/O don't require changes.
• POWERFUL REAL TIME EXECUTIVE
• 100% SOFTWARE AND HARDWARE COMPATIBLE
• IMPROVED CONSOLE MONITOR
• EXPANDED PROGRAM DEBUGGING FEATURES
• SUPPORTS AUDIO CASSETTE I/O
• COMPREHENSIVE MANUAL INCLUDES SOURCE
LISTING
• IMMEDIATE DELIVERY
ORDER RT68MR $55.00 ppd.
THE MICROWARE CORPORATION
RO. BOX 954 Des Moines, Iowa 50304
Write or use reader service card for free brochure.
Phone Orders (515) 279-9856
BankAmericard and Mastercharge give all info on card.
Mikbug* is a trademark of Motorola, Inc.
153
Circle 60 on inquiry card.
Circle 61 on inquiry card.
Your Mail Order Computer Shop...
IMSAI8080kitw/rr722s/o?s(limitedquantity) $645.00
TDLZ-80ZPU (the one with full software available now) 242.00
EdgeConnectorsandguidesforlMSAI each 4.25
EdgeConnectorsandguidesforlMSAI 10for 40.00
Vector Graphic 8k RAM kit with 500 ns chips 225.00
Seals 8k RAM kit with 250 ns chips 260.00
NorthStarcompleteMicro-DiskSystemkit 599.00
WETAKE
MASTERCHARGEOBBANKAMERICARD
For phoneand mail orders...
(Add 4% of TOTAL ORDER for service charge)
TERMS: Shipping charges — $10. per CPU or large units, $1.50 per kit,
$2. minimum perorder.
Provided stock is available, we will ship immediately for payment by
cashiers check or money order.
Allow 3 weeks for personal checks to clear. New York State residents
add appropriate sales tax.
PRICES SUBJECTTO CHANGE WITHOUT NOTICE.
For the best prices available on:
IMSAI • TDL • NORTH STAR • POLYMORPHIC
TARBELL • SEALS ELECTRONICS
CALL: (315)637-6208
WRITE: P.O. Box 71 • Fayetteville, N.Y. 13066
Confused About
Printers?
MPI HAS YOUR ANSWER!
TTY REPLACEMENT?
The SSP-40 contains its own
....... THESSP-40
;§o;r -...for easy connection
COW COST BUSINESS SYSTEM? THEMP-40
The MP-40 connects to your parallel port for ASC11 data transfer
*575
'425
$179
MINIMUM COST FOR HOBBYIST? THE KP-40 KIT " I I 5f
-40 KIT contains mechanism and minimum electronics for
connection to your parallel port.
All of our 40 series printers use the same reliable 5x7 impact dot matrix mechanism with
up to 40 columns per line on ordinary paper with a print speed of 75 lines/minute
MASTER CHARGE WELCOME • UTAH RESIOENTS ADD 5% SALES TAX
SEND FOR FREE LITERATURE
Box 22101
Salt Lake City, Utah 84122
. (801)566-0201
Fundamentals and Applications of
Sol Llbes
1 T
/ 1
n , Q
3 n
:
|
1
y
1
1 ''
istttm |
,
library and say, "This book gave me my
money's worth," I would have to say that
the book would be Fundamentals and Appli-
cations of Digital Logic Circuits by Sol
Libes. Anyone who is just starting to learn
about digital electronics or computers
should make it a point to study this book.
Mr Libes has taken a multitude of related
subjects and blended them into a text that is
easy to understand and just as easy to
follow. In addition to the text, the book
provides review questions at the end of each
chapter and problems related to the text for
the reader to solve.
Rather than jumping right into digital
logic, the author starts out with the prin-
ciples of semiconductors to show, in detail,
how they function. Then, after this short
course on semiconductors in the first chap-
ter, the second chapter familiarizes the
reader with binary numbers and coding
systems. This particular chapter also shows
how to convert numbers from one system to
another and touches on the Gray code.
These first two chapters establish the
foundation for a great deal of the informa-
tion the reader will receive from the re-
mainder of the book.
During the next four chapters the reader
learns the basic fundamentals of logic gates,
flip flops, counters and registers, and arith-
metic logic circuits. Throughout the book
each fundamental is illustrated and discussed
in great detail. Through these same well
done illustrations the reader next learns
about various pulse sources and clock sys-
tems used in computers. Further, the author
goes on to explain such devices as read only
memories, as well as input and output
equipment for computers.
Continuing with this stage-by-stage pro-
gression, the author then enlightens readers
about the circuitry and theory of digital to
Circle 62 on inquiry card.
154
Circle 63 on inquiry card.
analog conversion. This tenth chapter also
deals with multiplexing and digitally con-
trolled analog devices. Finally, in the last
two chapters of his book, Mr Libes shows
the reader more of the applications aspect of
digital logic circuits. These two chapters
explain the different types of circuitry used
in digital voltmeters, multimeters, calcu-
lators and computers (the latter being a
Digital Equipment PDP-8/E).
Throughout the book the reader is taken
in step-by-step fashion from the basics of
transistor workings to circuit applications in
working digital machines. As a result, this
book is one from which the beginner will be
able to learn the fundamentals and build on
them afterwards."
Michael P Reardon
17 Earl Ln
RothsvillePA 17573
BYTE's Bits
ACM Pacific 77 Conference
Small computers, from piogram-
mable handhelds through mini and micro
networks, are the subject of technical
papers sought for this year's ACM PAC-
IFIC 77 conference of the Association
for Computing's Pacific Region chapters.
The San Francisco Bay Area meeting will
be held at San Jose's LeBaron Hotel July
28 to 29 1977.
"Exploring the Small Computer" is
the theme of the conference which is ex-
pected to range in coverage from per-
sonal computing through small business
applications and from computer parts
and peripherals through bullet proof
software. Papers will be presented on
new developments in software and hard-
ware in these areas and on minilanguage
processors, miniperformance predictions,
microoperating systems, multimicropro-
cessor systems, packaging of software for
sale, portable microsoftware and soft-
ware engineering "in the small." Papers
on trends in software and current appli-
cation, on the future of minis, and on
related small computer topics are also to
be presented.
Peter Szego, Ampex Corporation,
is General Chairman of this year's re-
gional conference, which is jointly co-
sponsored by the Association's Pacific
Region, Peninsula and Golden Gate
Chapters. Informal symposia, workshops
and invited papers are expected to be
scheduled for the meeting in addition to
the technical paper sessions. Special
conference feature will be an evening
"hobby computer" session, to be
arranged by Jim Warren, editor of the
home computer users magazine, Dr
Dobb 's Journal of Computer Calisthenics
& Orthodontia,'
21 START-AT-HOME
COMPUTER BUSINESSES
in the shoestring, start-at-home
computer business handbook
CONSULTING #PR0G RAM MING • SOFTWARE PACKAGES •COM
FREELANCE WR I T I N G • S EM I N ARS • TAP E /D I S C CLEANING
FIELD SERVICE • SYSTEMS H OU S E S • L EAS I NG©SU P P L I E S
PUBLISHING* TIME BROKE RS • HARDWAR E DISTRIBUTORS
SALES AGENC I ES • HEADHUNTI NG •TEMPORARY SERVICES
USED COMPUTERS • F INDER' S FEES^SCRAP COMPONENTS
COMPUTER PRODUCTS AND SERVICES FOR THE HOME
l*St AT-H8ME.
Plus - - hundreds of ideas on
moonlighting, going full-time,
image building, revenue building,
bidding, contracts, marketing,
professionalism, and much more.
No career planning tool like it
ever published. Order now and if
you're not completely satisfied,
send it back within 30 days for
a full and immediate refund.
• 8£ X 11 ringbound «II3 pp. •$12.00
DRTRSERRCH
730 WAUKEGAN ROAD • SUITE 10
DEERFIELD. ILLINOIS 60015
Rush copies of "The Shoestring Star At-Home
Computer Business Handbook to me right away -
NAME /COMPANY
ADDRESS
CITY /STATE /ZIP
□ CHECK ENCLOSEDfJJBANKAMER I C ARD [JJMASTE RC H ARG E
155
Circle 64 on inquiry card.
^ START HERE, SCAN DOWN PAGE FRAME IDENTIFICATIONS
0 1 2 3 1 6 (i 7 8 9 10 II 12 13 14 15 16 17 IS 19 20 21 22 23 24 25 26 27 28 29 30 31 32
156
Dr Welles' Economy Floppy Disk Drivers:
Machine Readable Object Code
Last month, we published Kenneth
Welles' article on the driver software for his
Economy Floppy Disk. This issue, we con-
tinue that article with the machine readable
bar code representation of the object code
for the programs. These programs were pre-
sented as complete symbolic assemblies of
the programs on pages 92-96 as "listing 1"
of Dr Welles' article in June 1977 BYTE.
The materials presented here are:
Figure 1 : Bar code representation of the ob-
ject code. This block of machine readable
bar codes contains information in the fol-
lowing format in each line of bars, which we
call a "frame:"
• Sync character, binary 10010110
• Frame checksum, 8 bit summation
of all remaining bytes in the frame,
ignoring carry out of the high order
bit.
• Relative frame indentification, 8 bit
ascending integer enumerating
frames in the block of bars printed
here.
• Length of frame, 8 bit number, "n",
giving the number of data bytes to
follow.
• Data of frame, a total of "n" bytes
as follows:
• High order byte of 2 byte data
address field.
• Low order byte of 2 byte data
address field.
The bit level format of the data is as follows:
Each bit is defined by a bar and its following
space. If the bar width is equal to the follow-
ing space width, the data is a 0 bit; if the bar
width is three times the following space
width, the data is a 1 bit.
And a Bar Code Bug. . .
Thanks to the efforts of Ken Budnick, we
found one fairly serious error in the gener-
ation of the texts printed in the March and
May BYTEs. Ken has implemented detailed
scanning programs for several micropro-
cessors and one antiquated second gener-
ation machine and has tested them with a
bar code reader design by Fred Merkowitz.
The bug, which Walter Banks has since
corrected in the phototypesetter driver pro-
grams he used to create the texts, is as
follows: the checksum field of the bar code
frames printed in those two issues omitted
the frame identification byte and the data
length byte from the calculation. Thus, to
verify the checksum actually generated
in the object text of the Tiny Assembler
and the Bar Code Contest string, only the
data field should be used to calculate this
sum. The present bar code text generated for
Dr Welles' floppy disk driver routines calcu-
lates the checksum properly, and future
examples will reflect this fix as well."
Table 1: Confirmation copy. This table,
which was created by the same computer
driven typesetter which prepared the bar
code copy, contains a complete listing of the
object code in tabular form. This table is not
a direct mapping onto the bar code frames;
it was set with fixed length lines, preceded
by an address value for the first byte on the
line.
onnn
E3
F5
C5
D5
71
2 3
F5
F5
21
18
00
CD
4 5
1)0
II
( 1)
0010
IF
00
II
Dl
CI
Fl
13
C9
0D
OA
45
52
52
41-
D2
1-5
0020
0E
20
CD
00
00
II
15
ol-
OF
OF
OF
CD
3 3
110
II
CD
1)030
33
00
C9
15
E6
OF
(ft
io
IF
3 A
D\
3F
00
(ft
0 7
41
0040
CD
00
00
Fl
C9
71-
B7
(8
F5
Eft
7E
41-
CD
00
on
II
0050
F8
2 3
C3
4 5
00
in on
F3
Oft
02
C5
CD
15
1-0
CD
ftF
in
CI
C8
05
12
01
10
1:0 10
CD
00
00
01
C9
3A
ft 5
1-2
CD
2B
1:1
2 1
4H
1-2
Mr
Oft
in :n
10
77
2 3
05
C2
21
1-0
3ft
Kl
2 A
6ft
1-2
22
48
1-2
2 1
E030
5B
E2
CD
F3
F0
IB
22
72
1-3
CD
D8
Fl
CD
09
1-2
I |
1-04 n
3ft
01
21
4B
12
■\l
D3
11
iA
4ft
E2
Eft
0A
41
CD
IA
EOS0
E2
79
D3
13
Fft
ID
D3
F3
D3
1-4
71
D3
FO
2 3
IB
7A
1060
B3
C2
58
F0
J A
4ft
E2
l-ft
1-7
D3
E.3
32
4ft
1:2
("9
(D
I 070
■V3
E0
CO
2 1
75
1.3
1 1
5B
1-2
Oft
00
IA
Bl-
CO
1 3
2 3
F080
05
C2
7B
i;o
C9
F3
CD
A3
1-0
C8
CD
A3
II
CD
B2
II
E090
CD
A3
E0
C8
('!>
B2
El
CD
A3
El
CD
A3
1:0
(8
CD
00
E0A0
00
02
C9
3F
02
32
4 5
E2
CD
B4
EO
C8
21
45
1:2
15
E0B0
F8
C3
A 8
K0
IA
4A
1-2
CI)
2B
Fl
CD
D8
El
en
09
1:2
rocn
1 I
1A
01
21
7 5
F3
3E
81
D3
F2
CD
IA
1:2
DB
1-3
DB
eodo
E4
DB
E0
77
2 3
IB
7 A
B3
C2
CF
E0
21
75
1-3
CD
l'3
E0E0
E0
3\
3A
F2
3 2
7F
1-3
2 A
KC
1-4
C3
ED
E0
7C
92
CO
K0F0
7D
93
C9
01
Ift
01
1 1
00
00
7E
E5
C5
AB
47
01-
OF
FI00
OF
OF
4F
A 8
Fft
FO
-VA
ftF
79
07
Eft
IF
AD
6F
78
07
El 10
Eft
01
AS
AD
57
79
Eft
OF
A8
5F
79
A 8
07
Fft
1:0
AB
1-120
5F
CI
El
2 3
0B
78
Bl
C2
F9
F0
C9
IF
08
1-2
8 5
1:1
El 30
21
3A
E2
BF
ca
F5
E5
3E
08
BF
FA
46
El
4E
Oft
00
E140
09
2 3
3A
47
F2
77
D3
Fft
El
El
77
4F
OF
OF
OF
3 2
FI50
4ft
E2
D3
F3
DB
Fl
Eft
04
C2
85
Fl
09
23
71-.
32
47
FI60
E2
FE
4D
F8
DB
Fl
Eft
04
C2
84
El
CD
A3
Fl
CD
A3
inn
El
CD
A3
El
CD
A3
1:1
CD
B2
El
DB
Fl
Fft
01
C2
77
FI80
El
3 2
47
E2
C9
CO
00
00
03
C9
3E
FF
32
3A
E2
3C
FI90
F5
CD
9C
El
Fl
3C
FE
08
C2
90
El
C9
CD
2B
El
CD
F 1 A0
fi4
El
C9
21
47
E2
34
3A
4ft
E2
Fft
04
3 2
4ft
E2
C3
FIB0
BF
El
21
47
E2
35
3A
46
F2
Eft
FB
32
4ft
E2
Fft
10
FIC0
D3
F3
Fft
FF
D3
F3
CD
CA
El
O
01
FF
03
AF
OB
B9
Finn
C2
CE
El
B8
C2
CE
Fl
C9
3A
48
E2
FF
4D
FO
21
4ft
E1E0
E2
7E
F6
FE
77
3 A
48
E2
DI-
2C
F2
Fl
El
7E
F6
01
FIFO
77
3A
47
E2
47
3A
48
E2
BS
C8
F2
03
E2
CD
B2
II
F200
C3
Fl
Fl
CD
A3
El
C3
Fl
El
DB
Fl
Eft
20
D3
F5
CO
F.210
CD
CA
El
CD
CA
F.I
CD
CA
El
C9
DB
Fl
Eft
10
("2
IA
E220
E2
3A
49
E2
Eft
IE
47
DB
Fl
Eft
08
C2
27
1-2
0 5
EB
F230
DB
Fl
Eft
08
CA
30
E2
C3
27
F.2
00
6143
00
00
00
00
00
00
00
00
F25B
81
46
49
4C
4E
41
4D
4 5
58
54
00
00
00
00
00
00
E26B
00
E270
00
E375
81
46
49
4C
4E
41
4D
4 5
5 8
54
00
00
00
00
00
00
E385
00
F3 8A
00
157
BYTE's Bits
National Student Programming Contest
The First Annual National ACM/UPR
Student Programming Championship
Contest took place February 2 1977 in
connection with the Computer Science
Conference in Atlanta GA. The contest
was sponsored jointly by the Committee
on Student Chapters and Memberships
and Upsilon Pi 'Epsilon (National Com-
puter Science Honor Society). Teams
participated from: Catawba College,
Chattanooga State Technical Commu-
nity College, Clemson University,
Georgia Institute of Technology, Georgia
State University, Louisiana Technical
University, Manhattan College, Michigan
State University, North Carolina State
University, Purdue University, Taylor
University, Texas A & M University,
University of Georgia at Athens, Univer-
sity of Missouri at Rolla, University of
New Mexico at Albuquerque, and the
University of Wisconsin at Platteville.
The contest was conducted over a seven
hour period from 5 PM to midnight on
February 2. The facilities were provided
by the Computer Center at Georgia Insti-
tute of Technology and the department
of Information and Computer Science.
Machine time was provided by Control
Data Corporation on the Georgia Tech
Cyber 74 computer. The teams were
given four problems to solve using ANSI
FORTRAN. These problems consisted of
a Conversion from Roman to Arabic
Numerals, A Character Manipulation for
Rearranging of Names and Titles, the
Determination of Amicable Numbers,
and the Automatic Scoring of the Game
of Bowling. The winners were deter-
mined by penalty points and the elasped
time taken for each problem. Although
many teams were close on several solu-
tions, only four teams completed three
of the problems.
The National Champion Team is Mich-
igan State University, who also won their
regional competition. Second place went
The OAE Model
OP-80A quality en-
gineered paper tape reader
will read punched tape as fast as"
you can pull it through (0-5,000 cps)
Each unit includes a custom optical
sensor array, high speed data buffers,
and all required handshake logic to
interface with any microprocessor
parallel I/O port. Check our specs. AT
OAE WE MAKE QUALITY AFFORD-
ABLE!
Available at quality computer stores
everywhere. (Or, add $2.50 for domes-
tic shipping and handling — CA res.
add 6%.)
$QC00
^W a&T
OAE
Oliver Audio
Engineering, Inc.
7330 Laurel Canyon Blvd.
North Hollywood, CA. 91605
(213) 765-8080
to Purdue University, third place to the
University of Missouri at Rolla, and the
fourth place to Georgia Tech. Trophies
and certificates were presented to the
participants at an Awards Banquet held
February 3 at a luncheon in the Marriot
Hotel. The participating teams also re-
ceived free registration to the Computer
Science Conference and attended two
nights of an informal social sponsored by
the Committee on Student Chapters and
Memberships.
Plans have been made to make this an
annual event in connection with the
Computer Science Conference. In 1978
it will take place on February 22 at the
Plaza Hotel in Detroit Ml. Regional con-
tests will be scheduled for the fall of
1977 to qualify teams to compete in the
National Contest. Teams and sponsors
for these qualifying regional contests are
being solicited from all regions within
ACM. If you are interested in partici-
pating or holding such a contest, please
contact Dr Richard Newman, Academic
Computing Services, Southern Illinois
University, Carbondale IL 62901 , (618)
536-2323.*
Attention Educators with a Message
The National Association of Compu-
ter Applications to Learning (NAUCAL)
will hold its 1977 annual convention in
Dearborn Ml on November 2 thru 5 1 977.
The convention will focus on education-
al computing, simulations in education,
instructional materials and teaching
strategies. Sessions that describe and
illustrate computer applications in learn-
ing will be given special consideration.
Individuals who would like to present
or who would like to suggest others who
could present may write to John S Camp
and Lary Smith, Conference Cochairmen,
Wayne County Intermediate School
District, 33500 Van Born Rd, Wayne
Ml 48185."
Repairing Torn Paper Tapes
Translucent paper tapes are an inex-
pensive, efficient way of permanently
storing information for a computer.
However, after pulling the tape through
a hand held paper tape reader a dozen or
so times the tape tends to get pretty rag-
ged. Sooner or later the tape will tear
and have to be repaired before it can be
used again. I have found that transparent
Mylar movie film splicing tape is perfect
for the repair job. The splicing tape is
clear, strong and will not crack or yellow
with age. It is also quite thin and will not
interfere with the passage of the paper
tape through the reader. The tape sticks
very well to paper but if necessary can
be removed without causing any damage.
Mylar movie film splicing tape is avail-
able at any camera store.
Richard E Hetherington
637D Pendleton Av
Chicopee MA 01020"
Circle 65 on inquiry card.
158
^ Boardwalk
Shelburne Hotel
P.O. Box 1138
Atlantic City, NJ 08401
(609) 344-8131
Saturday night Banquet of Filet Mignon $17.50
Over 150 Exhibits and 60 hours of seminars
Conferences being planned on; Clubs; Newsletters; Energy Conservation; Medical Applications;
and more. Seminars being planned on; all aspects of Computing; Music; Basic Programming;
Games; Education; Various Microprocessor Evaluations; Synthesis; S-100 Bus; and more.
Another 1st,
Personal Computing College ™
To be held at the Shelburne Hotel.
Please rush
Please rush
Address
City
•••*••••••••••••• ••••••••••••••••••••••••••••••**
%
i
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
Jf
*
*
*
*
*
*
*
*
*
*
*
*
)f
••••••••••••••••••••••••• •••••••••^
WEDNESDAY-THURSDAY-FRIDAY, AUGUST 24-25-26
3 Day Micromputer Interfacing Workshop by TYCH0N Inc.
A hands on experience for the participants where they will spend
almost 50% of their time working on well documented Interfac-
ing and Software experiments. Students deal with the microcom-
puter at the bus level, interfacing the computer using solderless
breadboarding techniques and assembly language programs.
Presented by Jonathan A. Titus and Dr. Christopher A. Titus,
Authors of the famous "BUGB00KS."
For reservation information and complete brochure contact:
TYCH0N Inc. c/o Shortess-Rawson, Dept PC77, P.O. Box 2203,
South Hackensack, N.J. 07606.
FRIDAY, AUGUST 26
6 Hour seminar by Dr. Adam Osborne
"Microprocessors - Where they came from and where they are
going. An analysis of all products on the market today."
Dr. Adam Osborne will present a 6 hour seminar covering topics
such as: Bringing order out of chaos; All microprocessors are not
equal-each serves one market better than the other; Identifying
those markets best suited to each microprocessor; Real sales
volume anticipated for 1977; Comparisons including: 8085 vs.
Z80, 8048 vs. F8, Etc.
For reservation information and complete brochure contact:
Osborne & Associates, Inc., Dept. PC77, P.O. Box 2036,
Berkeley, Ca. 94702, 415-
Inc,
-548-2805.
PC '77 Weekend admission at the door will be $10.00. Register before August 10th and SAVE 20% and AVOID WAITING IN LINE!
Admission includes exhibits and seminars for both days, August 27— 28th.
advance registration tickets for August 27— 28th @ $8.00 each.
Banquet tickets for Saturday, August 28th @ $1 7.50 each.
Send reduced Hotel rate information .
Make all checks payable to "PERSONAL COMPUTING 77" and mail to:
PC'77, Route 1, Box 242, Mays Landing, N. J. 08330.
Name
Amount enclosed
State
Zip
159
Circle 51 on inquiry card.
Microcomputer
Handbook
by
Charles J Sippl
We often hear people say, "I'd like to find out more a-
bout microcomputers. I'm not a technical type, but I feel I
can handle a fairly rigorous approach as long as it's well
written. What's available?" Charles J Sippl's Microcomputer
Handbook is one answer to this question. The book covers
the present state of computer technology very well, concen-
trating on both hardware and software. Lucid and complete
glossaries are combined with a variety of illustrations. Topics
covered include: Microcomputers: where they are, what they
are doing, and what is next; kits; distributed intelligence; and
why the new systems are easier to use. The book was written
by a computer industry lecturter and consultant and is highly
recommended for the intelligent layman as well as for profes-
sionals and experimenters. The glossaries alone are worth the
price of the book-don't miss this one! This hardcover refer-
ence is only $19.95, plus 50 cents postage.
Send now to:
BITS Inc
70 Main Street
Peterborough NH 03458
Please allow six weeks for delivery
Master Charge and
Bank Americard Welcome
BUILD THE CRATE!
THE S-100 CARDFRAME THAT
YOU CAN BUILD FOR LESS THAN $150
COMPLETE PLANS, INFO ON TOOLS, PARTS, SOURCES, ETC,
ORDER THE CRATE BOOK $1 9.95
ENCOUNTER!
FOR GAME LOVERS, REALTIME GAMEBOARD WARFARE ON A VDM.
NO TAKING TURNS, JUST ACTION, STRATEGY, AND LOGISTICS.
8080 CODE ON P-TAPE + SOURCE, RULES $1 6.95
USE SYS 8/SOFT PKG 1?
AUTO-LINE ENTRY. STRING EDIT, AUTO TABS. OCTAL NBRS,
MULT, SECTION ASSEMBLIES. MORE ADDED BY OUR PROGRAM.
source $1 4.95
add $5 for p-tape, $10 for tarbell tape
OBJECTIVE DESIGN, INC.
P.O. BOX 20325, TALLAHASSEE, FL. 32304
Qlubs and
Newsletters
Conducted by
Peter Travisano
Arizona Computer Society
The Arizona Computer Society meets
regularly on the second Tuesday of each
month at De Vry Institute, 4702 N 24th St,
Phoenix AZ 85063.
A New Club in Boston
With all the computer activity in the
Boston area this should be welcome news.
A new group called the Boston Computer
Club is forming for people with both
hobbyist and industrial interests. As of now
the club provides access to a timesharing
PDP-8 and an Altaic 8800a. For further
information contact Jonathan Rotanberg, 17
Chestnut St, Boston MA 02108.
DUMPS in Delaware
A group of hobbyists at the University of
Delaware recently formed the Delaware
Users of Microcomputer Systems or DUMPS.
The club is informal and the membership
has a wide range of interests. Meetings are
held on the third Monday of the month at
7:30 at New Central School, Academy St,
Newark DE 19711.
Long Island NY— Licus
The Long Island computer group is a
growing concern made up primarily of high
school and college students. Meetings are
usually held on second Tuesdays at
Commach High School South. To find out
more write LICUS, POB 322, East North-
port NY 11731.
State College PA
The Nittany Amateur Radio Club of
State College PA sponsored a one day micro-
computer seminar, an introduction to inter-
facing, programming and applications with
an emphasis on real world situations. The
Circle 66 on inquiry card.
160
New kid
on the
block!
But watch out
he means
business
PERSONAL
COMPUTING EXPO
COMES TO NEW YORK FOR BIG BUSINESS
It's a brand new show in the world's biggest economic center
specifically for manufacturers and buyers who are into personal
computing. For the first time, this booming field will have a New
York Coliseum showcase in the major population center in the
east. It is planned as the largest public show of its type in the world
that will attract enthusiastic buyers from a multi-state area.
WHY NEW YORK?
New York is the economic nerve center of the world. It also is
the world's communications focal point, the one place that will put
personal computing in a significant spotlight. New York is sur-
rounded in depth by people who work in the computer field, by
computer learning centers, universities, personal computing
clubs, and thousands of others whose lives are affected by
computers.
From this vast potential, Personal Computing Expo will draw
the hard-core hobbyist, the interested student, and, because of a
highly-publicized program of introductory seminars, those who
are attracted and fascinated by computing but have not had expo-
sure to the ways and means of becoming personally involved.
SHOW MANAGEMENT
Personal Computing Expo is being produced by H.A. Bruno &
Associates, Inc., a firm in the exposition and promotion fields
since 1923. Highly skilled in the production and promotion of
consumer and trade shows, the company currently promotes the
American Energy Expo, the National Boat Show, Auto Expo/
New York. Promotion assistance also is currently rendered to the
National Computer Conference and the Triennial IFIPS Congress
in Toronto.
The show producer has promoted successful shows in the New
York Coliseum every year since the building opened in 1957.
Staff personnel are thoroughly familiar with the building, its
services, management and labor.
EXCITING SEMINARS FROM "BYTE"
MAGAZINE
Personal Computing Expo is endorsed by "Byte" magazine,
whose staff is developing an exciting series of seminars and
lectures for the exposition.
Visitors to the show will be able to attend these meetings free of
charge. They will hear from lecturers such as Louis E. Frenzel
and Carl L. Holder. More importantly, visitors will be able to
attend meetings aimed at their proficiency levels, from beginner
through intermediate and advanced personal computing.
FOR DETAILED INFORMATION CONTACT:
RALPH IANUZZI, Show Manager
H.A. BRUNO & ASSOCIATES, INC.
78 E. 56th Street
New York, N.Y 10022
(212) 753-4920
PCE
Endorsed by BYTE Magazine
OCTOBER 28, 29, 30, 1977
PERSONAL COMPUTING EXPO • NEW YORK COLISEUM
Circle 67 on inquiry card.
Why Wait?
Ufa-*
m-
an
HMH HmM* PWI1' :-PWv- ■.^^^3P^^^^',-/W^ 1
^WiSSr
The Tarbell Cassette Interface
Plugs directly into your IMSAI or ALTAIR*
Fastest transfer rate: 187 (standard) to 540
bytes/second
Extremely Reliable — Phase encoded (self-
clocking)
4 Extra Status Lines, 4 Extra Control Lines
37-page manual included
Device Code Selectable by DIP-switch
Capable of Generating Kansas City tapes
also
No modification required on audio cassette
recorder
Complete kit $120, Assembled $175, Manual
$4
TARBELL ELECTRONICS
20620 S. Leapwood Ave., Suite P, Carson, Ca. 90746
(213) 538-4251
California residents please add 6% sales tax
•ALTAIR is a trademark/tradename of MITS, INC.
Mail Order Computer Store
IMSAI 8080 kit with 22 slots (limited quantity) $ 599.00
IMSAI 4k RAM 129.00
IMSAI 16k RAM 419.00
IMSAI 32k RAM 699.00
IMSAI 64k RAM 2,459.00
When Ordered With Kit
TERMS: Shipping charges — $10. per CPU or large units. $1.50 per kit, $2
minimum per order
Provided stock is available, we ship immediately (or payment by cashiers check or
money order.
Allow 3 weeks for personal checks to clear.
Nevada residents, please add appropriate tax.
PRICES SUBJECT TO CHANGE WITHOUT NOTICE
PLEASE, NO PHONE ORDERS ACCEPTED
Phone: (702)734-1104
Write: Metatec Corporation
3453 Industrial Road
Las Vegas, NV 891 09
guest instructor was David G Larsen,
WB4HYJ, from the Department of
Chemistry, Virginia Polytechnic Institute
and State University. Larsen is a member of
a team that has toured the nation presenting
similar seminars and has been published
widely on the subject.
One significant by-product of the seminar
was the formation of the Center County
Computer Club. Membership can be
obtained from Carl Vesper, 131 Sowes St,
Apt E-1 0, State College PA 1 6801 .
SR-52 Users Club
TheSR-52 Users Club is a nonprofit loose-
ly organized group of SR-52 and SR-56 users
who wish to expand their knowledge
through information exchange. Activity
centers around a monthly newsletter, 52
NOTES, published by Richard C Vanderburg,
9459 Taylorsville Rd, Dayton OH 45424. A
membership fee of $6 includes a 6 issue
subscription. Back issues are available for
$1 apiece.
Permian Basin Computer Group — Midland
and Odessa Colleges TX
The Permian Basin Computer Group has
factions on both the Midland and Odessa
College campuses. The Midland group meets
on the second Monday of the month at 7:30
in the Student Union Building. The Odessa
group meets on the second Saturday at 1 :30
in the Electronic Technology Building,
Room 203. For additional information write
John Raenaldt, POB 3912, Odessa TX or
phone (915) 332-9151 Mondays through
Fridays between 9:00 and 5:00 or (915)
697-4607 after 6 PM.
Goodyear Computer Club
The Goodyear Computer Club in Akron
OH is off to an auspicious start: just a few
months old and able to boast a member-
ship of more than 150. Generally the
members are associated with the Goodyear
Aerospace Corporation or the Goodyear Tire
and Rubber Company. Contact the Good-
year Computer Club c/o J F Derry, D-109
Pit 1, The Goodyear Tire and Rubber Co,
Akron OH 44316.
Aloha Computer Club
Don Henson, president of the Aloha
Computer Club of Millani Town HI, has
made an interesting offer. He's willing to
give monthly seminars limited to six begin-
ners. Sounds like the best possible way to
share computer information and get more of
Circle 68 on inquiry card.
162
SERIAL SYSTEMS MODEL 301
(The Black Box)
Max performance at Minimum price-
Serial data to FSK of FSK to Serial
Communicate between uProcessor
and cassette tape, or radio transceiver
and RTTY, also easily adapted to
phone-50 to 600 BAUD-Crystal
controlled— Programmable for all
standard freq's (Kansas City, Altair,
Amature RTTY)
Assy and Tested $49.95
Mew 90 Key keyboard Encoder Chip
Hook Row and Column to your
keyboard and select ASCII, BAU-
DOT, ANSI TTY, or ASR-33 out-
puts.
$24.50
TMS9900 1 6 bit uP Chip $99.50
Serial Systems (Div. of ASC)
P.O. Box 20330
Minneapolis, MN 55420
Circle 09 on inquiry card.
SAW Mo«ev,&
for 12. /s.su*s <fi an
entries ^/*t"fe
3.6? Ui(U* Si. (&
/Slew Haven CT 0(>SH
Heathkit is a registered trademark
of Heath Company.
re^s
NOW HEAR THIS!!
ALPHA DIGITAL SYSTEMS
SELLS IMSA1 KITS AND TOTAL IN-
TEGRATED SYSTEMS ASSEMBLED.
CHECKED-OUT. AND WARRANTED AT KIT
PRICES.
ALPHA I
SPECIAL DOS SYSTEM DEAL (includes)
» IMSAI 8080 Computer
• 22 Slot Mother Bd. with Conn.
• 16 K RAM
• 90 K Disk (with Controller)
• Selectric typewriter (with Controller)
» DOS-BASIC Software
Assembled System Total $3995.
( Less Selectric )S2»5
Select any kit or system of kits from the IMSAI
price list, order from us and receive the
assembled unit for the same price. If you don't
have a price list, drop us a line and we will send
you one. Terms: Cash with Order • Prices in-
clude freight. ( N.C Residents Add 4°0 Sales Tax )
How can ALPHA DIGITAL SYSTEMS do all
this? Its simple. ALPHA DIGITAL WANTS TO
BE YOUR COMPUTER COMPANY.
ArtC ALPHA DIGITAL SYSTEMS
•*■** RT. 4 BOX 171A
BOONE, N.C. 28607
(704) 264-7946
Circle 70 on inquiry card.
(301) 779-7998
7338 Bdli.more Ave.. Suite 700 ColleCJS Park. Maryland 70740
IMSAI made kits & assembled units .
. 17% OFF LIST
TEC-9900-SS-UF, 16 hit TI9900 mictoP. 32 hit 1/0 liatdwai
8. div, buffered bus. 20 ma or RS232, 8 interrupts & sockets
S279.00
TEC-9900-32KB 32K bytes memory S649.00
TEC-990D-PP power supply S129.00
CR0MEMC0kitsSZ-l,Z-2 10% OFF LIST
SANYO TV monitors 10% OFF LIST
TDL ZPU & Z16K 12% OFF LIST
SEALS 8K bat. backup Mem
PERSCI Dual floppy & intelligent controller
(#270 8,1070)
.10% OFF LIST
SHUGART MINI-FLOPPY
2U02 50Dns S1.90
21 L02 450 ns S1.50
21 L02 400 ns S1.99
Z-80 microP S45.00
Z-80 CTC S9.50
8080A 2.5 MH S17.00
8080 PPI SI 0.00
5% OFF LIST
S375.00
$1.85
SI.95
S9.50
1702A EPR0M S8.00
21112 ',1111 n,
2102 400 ns
Z-80 PI 0
80BOA30MH
80BOSCI
8224 Clock Gen. .
B216/26 0river_
8251 PCI
2102 050 ns
2708 EPR0M S29.00
ADM-3A tCRT 8. addressable cursor S925.00 list
IMat. Multiplex Digital Tape recorders & kits _
MSI floppy 8. kits
Pennywhistla modem _
8212 I/O port
8228 Clock Driver -
8255 PPI .
. S2.50
-S5.50
_S9.50
-S20.00
-S10.00
_S4.75
_S2.50
-S9.50
_S1.75
S799.00
10% OFF LIST
10% OFF LIST
. 5% OFF LIST
.5% OFF LIST
Tl "silent 700" model 743, printer $1335 list
Send S2.00 for newsleuer and list. 4%, with minimum
S4.00 for shipping and handling. See flyer for policies
and delivery times on group OEM buys and other
products.
Circle 72 on inquiry card.
Circle 73 on inquiry card.
PHOENIX
Bits & Bytes
COMPUTER SHOP
• Lear Siegler ADM-3 Kit $849.
• Vector-1 8080 16 K $968.
• 9" Sanyo Monitor $159.
North Star - EPA - Tarbell
Act 1 Terminals - Cybercom
IASIS Computer-in-a-book
Vector Graphics - Per Com
6819-CN. 21st Ave.
Phoenix, Az. 85015
(602) 242-2507
Circle 71 on inquiry card.
But You Only Need
4i-THE COMPUTER CORNER:
~**~ •SOL - A New Dawn Is Here!
"**"" •IMSAI 8080
"•*"" •POLY - 88
"►*- • TDL Z-80
"+*"" •Memories & I/O Boards
-W-
-H— •Computer Book Service _
frj... •Magnetic Tapes & Disks _
+\— • Full Line of Magazines _
,-^j- • Brain Games & Puzzles _
■H •Workshops & Club Information _
~^~ Visit THE COMPUTER CORNER for ~
fc, all your computer needs. Stop in and
browse — you'll like our personal service.
*t -
y THE COMPUTER CORNER
White Plains Mall - Upper Level
"W~ 200 Hamilton Avenue ™
-H- White Plains. New York 1 0601
Tel: (914) WHY -DATA
Ample Parking
10-6 Daily & Saturday
V/ 10-9 Thursday \ ^
Circle 74 on inquiry card.
computer
d- T.M.
epOt inc.
Parts galore in the Midwest for
PROCESSOR TECHNOLOGY, IMSAI,
POLYMORPHIC SYSTEMS, DIGITAL
GROUP, WAVE MATE, CROMEMCO,
VECTOR GRAPHICS, TDL, SEALS,
TARBELL, MICRO DESIGNS,
NORTH STAR, PERIPHERAL
VISION; INTEL, NATIONAL SEMI-
CONDUCTOR, FAIRCHILD SEMI-
CONDUCTOR, MOSTEK, E&L
INSTRUMENTS, SAMS, TAB,
HAYDEN, WILEY, MC-GRAW HILL
Catalog Free
Computer Depot Inc.
351 5 W. 70th Street
Minneapolis MN 55435 c40
IN
SOUTH FLORIDA
IT'S
COMPUTER HUT
FEATURING POLY 88
5905 NW 151 St.
Miami Lakes, FL 33017
(305) 558-8080
COMPUTER MART
OF
DEALERS FOR
TDL ICOM IMSAI
DIGITAL GROUP
SOFTWARE INCLUDES:
8K BASIC EXT. BASIC
TEXT EDITOR DISK BASIC
WORD PROCESSOR
MACRO-ASSEMBLER
1 70 MAIN STREET NASHUA
(603) 883-2386
Circle 75 on inquiry card.
Circle 76 on inquiry card.
Circle 77 on inquiry card.
the many, many interested people involved
in personal computing. Aloha meets on the
first Wednesday of the month at 7:30 at
the Waikiki-Kapahulu Library, 400
Kapahulu Av. Seminars are held at various
times throughout the month. New members
are more than welcome. To learn more write
94-360 Hokuala St, Apt 187, Millani Town
HI 96789 or call (808) 623- 1 78 1.
Central Florida Computer Club
A new hobbyist group has been formed
in Orlando, jim Walton is the contact person
for the Central Florida Computer Club. He
can be reached c/o Data Entry Engineering,
1810 N Orange Av, Orlando FL 32804,
(305) 896-4322.
Electronotes - Newsletter of the Musical
Engineering Group
Those people interested in both electronic
music and instrument construction will find
Electronotes most valuable. An in-depth pre-
sentation focusing on the ENS-76 is planned
for the next several issues. Electronotes is
published by B A Hutchins, 203 Snyder Hill
Rd, Ithaca NY 14850. Routine orders
should be sent c/o Electronotes, 213 Dryden
Rd, Ithaca NY 14850.
Pittsburgh Area Computer Club
The place to share computer lore in
Western Pennsylvania is the Pittsburgh Area
Computer Club. Contact PACC at 400
Smithfield St, Pittsburgh PA 15222.
-DRAWPICTURES
-COMPOSE MUSIC
-INPUT TO GAMES
Attaches to any 8080 system with
TTL input port and memory mapped
video driver (PTC, Cromemco, Poly-
morphic, etc.). Allows computer to
interrogate the pen at any time and
determine its location.
$29.95
assembled & tested
with software
+ $1.50 postage & handling
Educ. Data System of Va., Inc.
P.O. Box 2115
Newport News, Va. 23602
!mAg!n!
What you can do with a 4K RAM that
can be positioned anywhere in memory
by program commands.
We have some ideas you may not have
thought of Write and ask about our new
4K PL (program localable) RAM card tor
IheSIOObus
The 4K PLRAM comes fully assembled,
tested and burned in lor only
$179.
IN CANADA
$199.
Sorry - Blame Pierre
Offl Residents
Add 7% PST.
EiflA
industries ltd.
P.O. Box 421 Simcoe, Ontario
Canada. N3V 4L5
South Florida
Sunny Computer
Stores, Inc.
South Florida's First Computer Store
WE CARRY:
•IMSAI, COMPUCOLOR, PROCESSO.
TECH., SOUTHWEST, CSC,
CROMEMCO, SEALS, VECTOGRAPHIC,
MULLENS, MORROWS, VECTOR
•BOOKS, MAGAZINES, NEWSPAPERS
SOCKETS, CONNECTORS, IC'S,
PRINTERS
•DEBUGGING EQUIPMENT
•SOFTWARE
•TOTAL MAINTENANCE & REPAIR
•WRITE OR PHONE US FOR PRICES
UNIVERSITY SHOPPING CENTER
1238ASOUTH DIXIE HIGHWAY
CORAL GABLES, FLA. 33146
(305)661-6042
Circle 78 on inquiry card.
Circle 79 on inquiry card.
Circle 80 on inquiry card.
k
LOGIC
DESIGN
INC
QUALITY Support for those who
wish to dig deeply into digital design.
Breadboarding System, textbook on
logic design, and complete schemat-
ics tor an elegant CPU that will run
the PDP8 instruction set . . . $1095
132 IC's $ 87
TTY Interface $ 20
Memory $26/k
BOX 3991, UNIV. STATION
LARAMIE, WY 82071
(307) 742-7977
Circle 94 on inquiry card.
£x
aeco
THE ULTIMATE IN
imsu tam bsasse:
Precision machined tape guide
Interface directly to a M«, or yflJUT
Tri-state buffer output
all handshake logic TtL compatable
Pull thru tape- Reads 5 to 555-9 cps
Interface thru a 14 pin IC plug „»,„»,
TPfj'5 ASSEMBLED 1 JESTED $38.00'
M5A'1 pl-UG-IN HANDSHAKE ADAPTER ♦ 5.50'
TO OHjJER^SE^O^^HECHClRM^O. TO:
MICROCOMP PO BOX '"T
"" «*«*■* " "• FOND DU LAC, Wl 54935
WE SPECIALIZE IN MICROCOMPUTER SYSTEMS FOR
HOBBY- BUSSINESS- EDUCATION
WE ARE EXCLUSIVE OSI DEALERS...
WE
KITS-FULL SYST
SEND
00 A BETTER JOB.
STEMS- PERIPHERALS-FLOPPY DISKS- ACCESSORIES
IOOKS' MAGAZINES-
CATALOG TODAY I
CANADIANS!
Eliminate the Customs Hassles.
Save Money and get Canadian
Warranties on IMSAI and S-100
compatible products.
IMSAI 8080 KIT $ 838.00
ASS. $1163.00
(Can. Duty & Fed. Tax Included).
AUTHORIZED DEALER
Send $1.00 for complete IMSAI
Catalog.
We will develop complete applica-
tion systems.
Contact us for further information.
Rotundra
Cybernetics
/A
Box 1448, Calgary, Alta. T2P 2H9
Phone (403) 283-8076
Circle 95 on inquiry card.
Circle 96 on inquiry card.
A New Orleans Computerfest
The Jefferson Amateur Radio Club and
the Crescent City Computer Club would
like to announce the New Orleans Hamfest/
Computerfest which will be held at the Hilton
Inn in Kcnner LA (directly across from the
New Orleans International Airport) Septem-
ber 24 and 25. This is the ARRL Delta
Division Convention for 1977 and is the
largest "ham" outing in the deep south.
This year's event will feature a banquet
Saturday night with entertainment, two
days of commercial exhibits, flea markets
and forums. There will also be a hospitality
room, ladies' events, FCC examinations and
more.
This year's grand prize is a complete
Drake "C-Line" ham station, and many door
prizes will be awarded each day.
Information on tickets, room reserva-
tions, etc, will be furnished upon request
by contacting the New Orleans Hamfest/
Computerfest, POB 10111, Jefferson LA
70181.
Important Notice to Clubs
Hazeltine Corporation, Greenlawn NY
11740, has recently circulated a letter from
Frank J Cirillo of their Industrial Products
Division, announcing a special package
price of $1400 for refurbished H-2000
model terminals with Hazeltine tape cas-
sette drive. The letter is directed to com-
puter clubs, so if your local club did not
receive a copy, write or call Mr Cirillo at
(516) 261-7000 and inquire about this
excellent deal. This terminal is one of the
world's largest selling video display terminals
and has had application in universities,
hopitals, business, finance and government.
At a $1400 price you get a used commercial
grade piece of equipment which will prove
quite applicable to many home computer
situations."
Would your club benefit from a write-up
in BYTE's Clubs and Newsletters section?
It's easy enough to arrange, just drop a line
to BYTE, 70 Main St, Peterborough NH
03458, c/o Clubs and Newsletters, with the
information you 'd like published. Naturally
we can't cover every club every month but
we do make a special effort to mention new
clubs and those that correspond regularly.
Those people looking for a more com-
plete listing of computer clubs should refer
to January 1977 BYTE*
The Speakeasy
Interface all your I/Os with
one low-cost board!
Talk about easy interfac-
ing for your Altair, IMSAI
or Equinox 100! Plug in
The Speakeasy'1''" interface
board and you've got 3
cassette I/O channels with
individual motion control
... a bi-directional parallel
port for keyboard, paper
tape reader or printer . . .
a serial port for teletype/
RS232 . . . and RAM/ROM
software to drive it all.
$120 kit by Morrow's
Micro-Stuff ($4 handling;
Cal. Res. add tax. Write
for specs.
Thinker
505 Arlington
Berkeley, CA
94707
Tbys
See it at your local computer shop, or
place BAC/MC orders toll-free to 800-648-5311
TheWunderBuss
End noise and
cross-talk with
our exclusive
Noiseguard
system
Build your S-100 system
on the WiinderBuss™ 20-
slot bus-board with Noise-
guard™ and you'll get
"textbook clean "signals.
The Noiseguard™ sys-
tem's interlaced ground
system shields all bus lines
from cross-talk . . . and low-
power active termination
absorbs noise and signal
reflections.
The printed circuit
board is double-sided and
(of course) has a solder
mask. And there's 3 un-
committed positions for
peripheral power.
The incomparable Wiin-
derBuss™, by Morrow's
Micro-Stuff, is now avail-
able for $76 alone. With 10
edge connectors, $120.
With 20 edge connectors'
$154. Add $4 handling.
Thinker
Tbys
505 Arlington
Berkeley, Ca.
94707
See it at your local computer shop
Place credit card orders toll-free to 800-648-5311
165
Circle 81 on inquiry card.
Programming Quickies
Gregory A Worth
115 Campbell, Apt 6
Rochester Ml 48063
BASIC Timing Delay
When writing game programs it is often
convenient to have a time delay to add some
exciting real life feeling to the game. This
subroutine, submitted by Gregory A Worth
and written for a Motorola 6800, will
cause delays between 7 and 255 seconds.
Register B is loaded with the number of
seconds you wish to delay before jumping
to the subroutine. LOOP! is the basic time
delay loop. This loop takes 20 clock cycles
and is executed 50000 times giving a basic
timing unit of 7 second, assuming a 7 MHz
processor clock is used. If your system is
using a different clock speed, appropriate
adjustment of either the number of repeti-
tions of the loop or the amount of time
consumed in one pass through the loop
will have to be made. The outer loop,
LOOP2, allows the varying time delays by
repeating the 1 second loop the number
of times specified in register B. A II of the
numbers In this listing are in hexadecimal
unless otherwise specified.
Address Hex
0000
0003
0006
0009
000C
000 D
000 F
0010
0012
0015
0016
0018
FF
CE
76
79
09
26
5A
26
FE
39
Code
00 16
C3 50
00 03
00 03
F7
F1
00 16
Labels
DELAY
LOOP2
LOOP1
SAVE
Op
STX
LDX
ROR
ROL
DEX
BNE
DECB
BNE
LDX
RTS
RMB
END"
Operand
SAVE
C350
LOOP2
LOOP2
LOOP1
LOOP2
SAVE
Commentary
save the number of seconds to be delayed;
load X register with decimal 50000;
basic 1 second timing loop
considering 1 MHz clock;
decrement number of seconds delayed;
if delay not over continue LOOP2;
restore value of delay time;
return to calling program;
storage for number of seconds delayed;
[g cybercom boards
MB-1 MK8 Computer System Ram 4Kx8. Not lor S-100
Buss. PC Bd $22
MB-4Altair88004Kx8or8Kx8with Piggy Back. PC Bd. $30
MB-3 4K 1 702A EPRAM kit w/o PROM $65
MB-6 PC Bd. 8Kx8 $35
IO-2 10 for 8800 8 Bit Parallel I/O. 2/3 Kludge Area.
PC Bd. . . . $25 Kit . . . $55
64 x 1 6 VIDEO BOARD Altair plug compatible display 32 x
16 or 64 x 16 switch selectable. Composite and parallel
video ports, upper and lower case with software. PC Bd. . . .
$35 Kit . . . $189.95
SP-1 Synthesizer Board Computer controlled wave forms
9 octaves 1vrms V2% distortion includes high level music
language. Kit $250
Altair Compatible mother board . Room for 1 5 connectors
11" x 11 Va" (w/o connectors) $45
With 15 connectors $105
Altair Extender Board (w/o connectors) $9.00
With w/w connector $13.50
1 00 Pin spec WW or Soldertail both lit Imsai or SSM Mother
Board $5.00 each 10/$44,
WALNECO8Kx8Ram2102typefully buffered. PC Bd. $30
WALNECO Mother Bd. terminated 12 slot '/a" thick . .$40
419 Portofino Drive
San Carlos, California 94070
Pleas* sand lor xlntor, IC and kit list
* 21 02 AL-4 FULL SPEED MEMORY (500ns) *
* Nearly Vi less power consumption of even a *
* 21L02A PRIME FROM NEC
• $2.00 EACH
64 -$1.70
32 FOR $1.80 EACH
128 FOR $1.60 EACH
1702AEROM
programming send hex list
AY5-1013 UART
2513 Prime spec, upper or lower case
8080A Prime CPU
8212 Prime latch buffer
8224 Prime clock gen
8228 Prime sys controller
82S06
82S07
82S12
82S17
82S23
82S123
MM5309
MM5312
MM5313
MM5320
MM5554
MM5556
MM5055
DM8836
DM8837
91L02APC
32 ea.
64 ea.
2.00
2.00
2.00
2.00
2.50
3.00
8.00
4.00
4.00
5.95
1.90
2.50
1.90
.60
1.50
2.10
1.95
1.80
82S126
82S129
82S130
82S131
74S206
MM5262
7489
74200
74S89
74C89
74L89
8T80
8T97
INTEL
8216
8214
8251
8255
3.50
3.50
3.95
3.95
2.10
1.00
2.00
4.95
3.50
3.50
3.50
2.50
2.00
4.95
8.30
14.50
14.50
74C200
8573
8574
8575
8576
8577
8578
1101
1103
2101
2112
2602
4002-1
4002-2
8131
M04044
1488
1489
2111-1
$ 8.00
5.00
6.95
11.00
25.00
4.00
5.00
8.90
5.50
4.50
5.50
4.50
4.50
3.50
4.00
1.25
1.25
4.50
4.50
1.60
7.50
7.50
2.50
2.25
1.50
1.50
3.75
For large orders please send money order or cashier's
check to avoid delays in waiting for check to clear.
Check or money order only. California residents add 6%
tax. All orders postpaid in U.S. All devices tested prior to
sale. Money back 30 day guarantee. Sorry we cannot
accept returned ICs that have been soldered to. $10
minimum order. Prices subject to change without notice.
The Proko Paper Tape Reader
A fully TTL buffered optical tape reader for reading 8-level
paper tape. It's compatible with nearly all parallel input
ports and has bolh positive and negative strobe outputs.
The power (+5V @ 20ma) is derived from your I/O
board. ..just supply a light source (study lamp), grab the
tape and pull!
PTR-II Kit $54.00 Assembled $68.00
Now, add mass storage to your micro with the North Star
floppy disk system. Comes with cables, S-100 controller
with bootstrap rom, and powerful extended basic. (Basic
supports sequential and random access disk files.)
North Star Disk Kit $699
IMSAI 8060 Kit with 22 slots $650
IMSAI with disk $1325
I The S.D. Sales Co.
Z-80 CPU Kit
For S-1 00 Buss
i $14900
proko
tronics
439 marsh street
san /ills oblspo, California 93401
805/544/5441
Delivery: Slock to 45 days Irom receipt of order. We pay all U.P.S.
shipping on U.S. orders. Check or money order accepted. No P.O. s
except oy above terms. California residents add 6% tax. Prices
subject to change without notice.
Circle 82 on inquiry card.
166
COMPUTER-
WAREHOUSE
STORE
DEPT B • P.O. BOX 69 • KENMORE STATION • BOSTON, MA. 0221 5 • 617 -261 - 2700
SPECIAL DISCOUNTS/
ON KITS & ASSEMBLED UNITS
SAVE UP TO 20% OFF KIT PRICE WHEN A PERIPHERAL IS
PURCHASED AT THE SAME TIME (S200 MAXIMUM DISCOUNT;
PERIPHERAL(S) OVER $900^ 20%'OFF KIT PRICE
PERIPHERAL^) OVER $250^ 10% OFF KIT PRICE
PERIPHERAL(S) OVER $95^ 5% OFF KIT PRICE
KITS
SCAMP KIT
FROM NATIONAL
SEMICONDUCTOR $99
KEYBOARD KIT. ..$95
LEAR SIEGLER ADM-3A
WITH CURSOR CONTROL
• 12" CRT «RS232
• 2« LN x 80 CHAR
•20 mA LOOP
KIT $875
+ $25 SHIPPING
IMSAI 8080 MICROKITS
IMM ROM CONTROL KIT LOW POWER DYNAMIC MEMORY
EXPANSION TO I MEG. BOARDS
KIT S299 32K RAM BOARD KIT S T<3
ASSEMBLED 399 ASSEMBLED 1099
16K RAM BOARD KIT 499
ASSEMBLED 679
8O8OA KIT 5 SLOT. ..
8080A KIT 22 SLOT..
4K MEMORY KIT
PIC-8 PRIORITY INT.
SERIAL I/O KIT
..699
..751
.. 139 PROM 4-512 KIT 165
.. 125 UCRI-1 KIT 59
..125 CABLE A KIT 18
VIKING 100 PIN CONNECTORS, HEAVY DUTY S3. 00
SWTPC 6800
• 512 BYTES OF ROM
• RS232 OR 20 mA
MPA 145 MPB S 40
MPC 40 MPD 35
MPE 14.95 MPF 37.50
MPM 65 MPMx 35
MPP 42.50 MPL 35
MPS' 35 MPAb...l4.50
KPMb 14.50
4K memory — sioo
CT 64 TERMINAL KIT.. 325
. • • $J7J
•SERIAL INTERFACE
• 4K RAM
MPCb.MPSb.MPLb, EACH 9.50
4KBA 5.00
GT61 99
AC30 AUDIO INTERFCE 79-50
CTP 15.50
CTS 39.95
CONNECTOR SETS
-MPU/MEMORY 2.50
-INTERFACE 2-00
PP40 PRINTER 250
SMOKE SIGNAL BROADCASTING I6K RAM $595
THOUSANDS OF KITS & PERIPHERALS
HAZELTINE 1000
$795
35 lb SHIPPING
12
VIDEO DISPLAY TERMINAL
LINES X 80 CHAR. 5x7
MATRIX, 525 LINE RAS
TER. BUILT & TESTED;
PLUG 8 GO!
GREEN PHOSPHOR
VIDEO MONITOR
$150 + $25 SHIPPING
16 MHz BANDWIDTH, STANDARD RASTER
SCAN, 24 LINES X 80 CHARACTERS, ONE
ALL an ASR33 is
and MORE $875
+ 165 lb SHIPPING
OLIVETTI TE318 - RS232 INTERFACE, 10 CPS,
BUILT-IN PAPER TAPE, ELECTRIC TYPEWRITER
KEYBOARD W/ ADDITIONAL 10 KEY NUMERIC PAD,
YOUR CHOICE SPROCKER OR FRICTION FEED.
COPE 1030
BUILT UNITS
ICOMlMICROFLOPPIES
.. $1095
649
PLUG COMPATIBLE FOR SIOO BUS. ..F024I1 . .
SINGLE Dr. I VE FD2402. .
ICOM FLOPPIES:
FF36-I FRUGAL 1 1 95
FF36-2 DUAL FRUGAL 1895
360-58 BUILT; INTERFACE 8080 300
S171 POWER SUPPLY 250
FD360-2-5 DUAL SYSTEM 3000
FD37H DESK TOP SINGLE FLOPPY SYSTEM 2350
FD37I2 DESK TOP DUAL 2650
KIM-1 6502 $245 INTERCEPT JR;«p8°n
KIM-2 4K 179 FROM INTERSIL, INC
CHIP!
KIM-3 8k 289
MANUALS PACKAGE 15
TARBELL AUDIO CASSETTE
KIT 120
12K RAM 145
ROM/PROM BOARD 74.65
(YOU AOD MEMORY CHIPS)
SERIAL I/O 81.50
AUDIO VISUAL BOARD.. 125
IBM 2741 COMPATIBLE - "SELECTRIC BASED" PORTABLE
CONVERSATIONAL DATA TERMINAL, PRINTS UP TO 15 CPS.
SEND $1 FOR OUR
MICROCOMPUTING CATALOG
THE ONLY ONE OF ITS KIND!! FULL DETAILS ON OUR
COMPLETE LINE OF KITS AND UNITS, REVIEWS OF OVER
150 BOOKS, LISTS OF NEW AND SURPLUS PARTS AND
"ALL ABOUT HOBBY MICROCOMPUTERS"-- AN INTRODUC-
TION TO PERSONAL COMPUTING.
TO ORDER EQUIPMENT
1. ENCLOSE CHECK FOR FULL PRICE PLUS SHIPPING CIWRGES
(KITS - ADD $5 IF UNDER $100;' $10 IF OVER)
VISA (BANKAMERICARD) & MASTER CHARGE ACCEPTED -
SEND CARD #, EXPIRATION DATE, INTERBANK #
2. CLEARLY IDENTIFY SHIPPING ADDRESS
.3. DESCRIBE ITEM BY MODEL NUMBER
4or 6 Digit Alarm Clock Kit
Features:
A. Fairchild 0.5" FND500 Series Display
B. Display Board may be remote
C. P.C Boards, Transformer, Speaker and all the
parts needed (less case).
D. Detailed Instructions
12 Hr.-6-Digit $16.50, with 10 min. timer $25.50
with timer and crystal time base $29.50
4-Digit $14.95 6-Digit-24 Hr. $14.95 (no alarm)
0.8" 4 Digit Jumbo Display Alarm Clock Kit
Features:
A. Fairchild 0.8" FSC8000 Display Array
B. Fairchild Super-Chip - F-3817PC
C. P.C. Board, Transformer, Speaker and all
parts included (less case)
D. Detailed Instructions $19.50
BOWMAR SLIDE RULE CALCULATOR
Features:
A. 8-Digit Display C. Comes with Batt. Charger
B. Build-in Nl-Cad Batt. D. One full year warr.
ONLY $32.00 (Limited Quantity)
POWER SUPPLY KITS
5V 10A with OVP (Less Case, X'former, $7.95
Rect.&Capl-with X'former, Rect.&Cap $16.50
2-20V 1 ,3A continuously adjustable with current
limiting. Includes Transformer, P.C. Board,
2N3055, Heat sink, and everything but the
case. $10.95
BOURNS MINIATURE TRIMMERS
3292X 2K 55«ea.or 10 for $5.00
330PP 2K 75. ea. or 10 for $6.75
4" MUFFIN FAN-Slightly Used-$5.00
All in perfect Condition. Satisfaction Guaranteed
MINIATURE SLIDE SWITCH
DPDT .20 each
10 for $1.75
100 for $15.00
INTER-COM BOARD
Fully assembled.
Works on 9-15V D.C.
2 speakers make it work.
With Schematic
ONLY $3.00
ZENER DIODES
5V
14V
15V
IN2979 15V
IN 3029 24V
IM3002 75V
'/2W
y»w
y.w
10W
1W
10W
.12
.12
.10
2.50
1.25
2.50
COMPUTER GRADE
CAPACITORS
18,500/jF 80 V $4.50
91,000/uF 20V $4.00
100,000/iF 5 V $2.50
1.000/J+200 50V $1.00
TANTALUM
CAPACITORS
1/J35V
1/U10V
3.3/J35V
10/J50V
22/L/35V
.15
.15
.20
.35
.25
MINIATURE TOGGLE
SWITCH
SPDT $1.00
DPDT $1.25
DPDT Center off $1 .25
PUSH BUTTON SWITCH
Red, White, green and
yellow 30s ea. 4/$1 .00
TRANSFORMERS
All inputs 110 V AC
40 V CT. 10A
30V CT. 20A
20V CT. 10A
24V 1 .3A
2.4-6.3-9-12V
28V CT. 0.6A
1A4 in 1
$14.50
$13.50
$8.00
$3.50
$3.50
$2.00
WIRE-WRAP TOOLS from OK
Hobby Wrap - 30 $5.45
Hobby Wrap-Model BW-630 Bat-
tery Op. (less batt.) $32.95
OPEN FRAME POWER SUPP.
12V @ 1.8A with OVP 115V AC
input $7.50
5V@3A with OVP 115V AC
input $17.50
MODULAR POWER SUPPLY
5V @> 32A 1 1 5V AC Input with
OVP (New) $69.50
24V @ 12A 115V AC input
(used) $37.95
28V 3A (used) $19.95
RECTIFIERS
IN 4001 .06
IN4002 .07
IN4003 .08
IN4004 .09
IN4005 .10
IN4006 .12
IN4007 .14
RCA House Mark.
1000V 3A .40
600V 5A .75
MOTOROLA
IN1202A .65
IN1612 .75
MDA962-2 1.80
Bridge100V12A
THIS MONTH'S SPECIALS!
SN7400 $.12
LM741CH-TO-5 30
MH0026C
(5 MHZ Clock Driver) 2.95
A Y-5-3600I Keyboard Encoder by
G. I. )with Spec. Sheet 10.50
LM340T-12 .80
LM340T-5 .80
AN214-4.5W Power I.C. with
Spec. 2.95
PANEL METERS
2%" X 2'A"
50L1A $3.50 150/JA $3.00
IOOjUA $3.00 300jUA $3.00
154" X 1K"-50/iA $4.00
L.E.D.
0.25" Red 25t 10 for $2.00
0.25" Green 30« 10 for $2.50
0.125" Red 20« 10 for $1.75
0.5" FND503CC $1.00
0.5" FND507CA. $1.00
0.8" FSC8000 C.C. $7.50
14 Pin
14 Pin
14 Pin
16 Pin
16 Pin
22 Pin
24 Pin
24 Pin
40 Pin
I.C. SOCKETS
Lo Pro
Standard -Gold
Wire Wrap-Gold
Lo pro
Wire Wrap-Gold
Lo pro
Lo pro Open Frame
Standard -Gold
Lo pro Open Frame
$.30
.35
.45
.35
.50
.45
.45
1.00
.55
Zs
TERMS: Money Back Guarantee
CALIF. RESIDENTS ADD G^i SALES TAX
Please add $1.00 for postage inside Calif., $2.00 for
Out of State, Overseas add 10% of order. W^y!^
Minimum Order $5.00 CO.D. $20.00 {$1.00 handling)
STORE HOURS: Mon.-Sai., 10-7. Sun. 10-3
PHONE 714/8210234
ELECTRONIC SUPPLIES
2669 W. LINCOLN AVE., ANAHEIM, CA. 92601
SPECIAL OFFER
100 STEPS
PROGRAMMABLE
SCIENTIST
#4525
• RPN logic with "built-in" hierarchy for increased
accuracy and speed in calculating sequences involv-
ing arithmetic, trigonometric, logarithmic, power or
exponential functions. • A rollable 4-level stack lets
you review or use intermediate solutions. • Eight-
digit plus 2-digit exponent LED display with full-
floating decimal system. • Scientific notation for
increased mathematical capacity. • Sine, cosine,
tangent and inverse trigonometric functions. •
Common and natural logarithms and antilogarithms.
• Instant automatic calculation of powers and roots.
• Single-key square root calculations. • Single-key Pi
entry. • Separate storage memory. Square, square
root and reciprocal calculations. Change sign and
register exchange keys. • MOS/LSI solid-state cir-
cuitry. • Includes 3 AA rechargable NiCad batteries.
MANUFACTURED IN USA BY
BY NATIONAL SEMICONDUCTOR
ONE YEAR UNLIMITED WARRANTY
10 DAYS MONEY BACK GUARANTEE
JVIodel #4525 @ 38.95 _
_Model #4520 @ 28.88 _
AC Charger® 4.95
Case(s)@2.95
Calc. Stand® 2.50
Cal. Res. add 6% tax
Total _
ALSO AVAILABLE
MODEL #4520 With the same features as above but
without programming capability @ $28.88. Acces-
sories same price as above. CirC|e 157 on inquiry card
SAME DAY SERVICE IF PAID BY CASHIERS
CHECK, MONEY ORDER OR CHARGE CARD.
ASC II KEYBOARD
NEW LOOK IMPROVED DESIGN
$58.00
This 63 key ASC II Encoded Keyboard kit was
designed and manufactured by Electronics Ware-
house Inc. Features: Single 5 volt D.C. supply,
utilizing onlyTTL Logic elements (no MOS devices
to blow). TTL drive capability (each of the eight bits
of ASC II output will drive the equivalent of ten
standard TTL inputs without external buffer drivers),
de-bouncing, upper and lower case fully ASC II, 8
bit parallel. In addition to the alpha-numeric and
symbol keys available on a regular keyboard, the
following keys are utilized: Escape, back-space,
tab, line-feed, delete, control, shift-lock, shift (2
keys), return. All 1 28 ASC II characters are generat-
ed.
Kit includes: 63 key keyboard, P.C. board, all
required components and assembly manual with
ASC II code list.
Optional: Parity bit -add 50$ • Enclosure -$25.00
• Serial output - add $2.00 • 1 8 Pin edge connector
- $2.00 • Sockets - $4.00
Note: If you already have this teletype keyboard
you can have the kit without it for $39.00. Dealer
inquiries invited.
FROM CONCORD
THE FIRST FULL FEATURE
LSI DMM KIT
INTRODUCTORY PRICE
77
Reg. Suggested Retail: $149.00
AUTO RANGING
AUTO POLARITY
AUTO ZERO
3 Large Digits (1/2")
Rechargable
77
MEASUREMENT RANGES:
Voltage: (AC & DC) 1 MV- 1000V
Current (AC & DC) 10JUA- 1A
RESISTANCE 1Q-10MQ
Basic D C Accuracy, better than
0 1% * 1 Digit
Power 4 AA batteries (Recharg
able batteries optional)
NICAD BATTERIES: $6.00 • AC CHARGER: $4.95 • ENCLO-
SURE: $12.95 • TEST LEADS: $1.95 • SHUNT KIT FOR 3
CURRENT RANGES: $4.75 • SOCKETS $2.50
ORDERING INFORMATION
SHIPPING AND HANDLING - $3.00 + 50? Insurance
California residents add 6% sales tax
ELECTRONICS WAREHOUSE Inc.
1603 AVIATION BLVD. Dept. B
REDONDO BEACH, CA. 90278
TEL. (213)376-8005
WRITE FOR FREE CATALOG
You are invited to visit our store at the above address
Circle 85 on inquiry card.
COMPUTERS: circle desired kits,
men show this ad to your owner.
r
1 Active Terminator Board $25
•Plugs into your S-lOO bus to actively terminate lines
•Minimize the crosstalk, noise, overshoot, and ringing you can find on improperly
terminated busses
"*
2 MOTHERBOARD(S)
• Prices include edge connectors
10 Slots: $85
18 Slots: $118
Includes active terminations for unambiguous data transfer
Uses glass epoxy , plate-through, double sided board
3 8K EconoRAM II $163.84
• Low current drain, zero wait states (1 wait with Z-80)
• Tri-state outputs mate with any type of bus
• Configured as two separate 4K blocks (with fully independent protect and address
decoding to increase flexibility)
• Includes low power Schottky support ICs and full buffering
4 4KEconoR0M
$265
• NEW AND IMPROVED better listings; SP and PSW now implemented for more flexi-
bility. Find out why Jay Bell, editor of Print-Out, said:
"Without a doubt, this board is the best buy I have made for my Altair 8800
out of the $5000+ I've spent." (Print-Out, September 1976 issue)
Now you can have editor, assembler, and monitor routines that make the 8080 a
much nicer chip to work with.
5 CPU Power Supply
$45
• 5 Volts @ 4 Amps with crowbar overvoltage protection
• +12 Volts @ % Amp and -12 Volts @ % Amp
• Adjustable bias supply, 5 to 10 Volts at 10 mA
• Intended for use with small computer systems or as digital bench supply
CAVE
: irar*
J
BILL GODBOUT ELECTRONICS
BOX 2355, OAKLAND AIRPORT, CA 94614
TERMS: Please allow up to 5% for shipping; excess refunded. Californians
add sales tax. Street address must be included for COD orders. Place
BankAmericard'B and Mastercharge® orders ($15 minimum) by calling our 24
hour order desk at (415) 562-0636.
FREE FLYER: Just give us the word and we'll send out a copy of our flyer,
which describes our complete line of products in greater detail.
Circle 86 on inquiry card.
' H'rnrmi /400NTTL
SN7400N
SN74Q1N
SN7402N
SN7403N
SN74Q4N
SN740SN
SN7406N
SN7407N
SN7408N
SN7409N
SN7410N
SN7411N
SN7412N
SN7413N
. SN7414N
SN7416N
SN7417N
SN7420N
SN7421N
SN7422N
SN7423N
SN7425N
SN7426N
SN7427N
SN7429N
SN7430N
SN7432N
SN7437N
5N743BN
SN7439N
SN744QN
SN7441N
SN7442N
SN7443N
SM7444N
SN7445N
SN7446N
SN7447N
SN7448N
SH7450N
SN7451N
SN7453N
SN7454N
SN7459A
SN7460N
SN7470N
SN7472N
SN7473N
SN7474N
SN7475N*
SN7476N
SN7479N
SN7480N
SN74B2N
SN7483N
SN7485N
SN74B6N
SN74B8N
SN7489N
SN7490N
SN7491N
SN7492N
SN7493N
SN7494N
SN7495N
SN7496N
SN7497N
SN741D0N
SN74107N
SN74121N'
5N74122N
SN74123N
SN74125N
SN74126N
SN74132N
SN74136N
SN74I41N
SN74142N
SN74143N
SN74144N
SN74145N
SN74147N
SN74148N
SN74150N
5N74151N
SN74153N
SN741MN
SN74155N
SN74156N
SN74157N
SN74160N
SN74161N
SN74163N
SN74164N
SN74165N
SN74166N
SN74167N
SN74170N
SfJ74172N
SN74173N
SN74174N
SN74175N
SN74176N
SN74177N
SN74160N
SN74181N
SN741B2N
SN74184N
SN74185N
SN74186N
SN74187N
SN74188N
SN74190N
SN7419IN
SN74192N
SN74193N
SN74194N
SN74195N
SN74I96N
SN74197N
SN74198N
SN74199N
SN74200N
SN74279N
SN74251N
SN74284N
SN74285N
SN74367N
MANY OTHERS AVAILABLE ON REQUEST
20% Discount for 100 Combined 74O0's
2.49
4.00
15.00
6.00
3.95
CD4000
C04001
CD4Q02
CD4006
CO4O07
C04009
CD4010
CD401 I
C04012
CD4013
CD40I6
(94017
C04019
CO4O20
CD-5022
CD4023
C04Q24
CO-1025
CD-1027
CD4028
CD4029
- CO4O30
25
CMOS
.65
CO4035
CD4040
CD4042
C040J4
CD40-16
CD4047
CO4049
CD4050
CD-1051
CD4053
CD4060
CD4066
CD-IQ69
CO4071
CD4081
CD4511
CD45I8
MC14566
74C0ON
nam
74C04N
74C10H
74C2DN
74C30N
7JC42N
74C73N
74C74
74C90N
74C95H
74C107N
74C15I
74CI54
74C157
74C160
74CI6I
74C163
74C164
74C173
74CI93
74C195
MC4044
MCUQ16
L.M3UDH BO
LM301H 35
LM301CN .35
LM302H 75
LM304H 1.00
LM305H .95
LM307CN 35
LM308H 100
LM30BCN 100
LM309H 1.10
LM309K 99
LM310CN 1 15
LM3I1H .90
LM311N .90
LM318CN 1.50
LM319N 1.30
LM320K-5 1.35
LM32QK-5.2 1.35
LM320K-12 1.35
LM320K-15 1.35
LM320T-5 1.75
LM320T-5.2 1.75
LM320T-8 1.75
LM320T-12 1.75
LM320M5 1.75
LM320M8 1.75
LM320T-24 1,75
LM323K-5 9,95
LM324N 1.B0
LM339N 1.70
LM34DK-5 1.95
LM340K-6 1.95
LM340K-8 1 95
LM34QK-12 1.95
LM340K-15 1.95
LM340K-18 1.95
LM340K-24 1.95
LM340T-5 1 75
LM340T-6 1.75
LM340T-8 1.75
LM340T-12 1 75
LM340T-15 1.75
LM340M8 1.75
LM340I-24 1.75
LM350N 1.00
LM351CN .65
LINEAR
78MG
LM370N
LM373N
LM377N
LM380N
LM380CN
LM38JN
LM382N
NE501K
NE510A
NE531H
NE536T
NE540L
NE550N
NE555V
NE560B
NE561B
NE562B
NE565H
NE565N
NE566CN
NE567H
NE567V
LM703CN
LM709H
LM709N
LM710N
LM711N
LM723H
LM723H
LM733N
LM739N
LM741CH
LM741CN
LM741-14N
LM747H
LM747N
LM748H
LM748N
LM1303N
LM1304N
LM1305N
LM1307N
LM1310N
LM1351N 1.6
LM1414N 1.7
LM1458C 6
LM1496N 9
LM1556V 18
LM2111N 1.9
LM29GIN 2.9
LM3D65N 6
LM3900N .5
LM3905N .6
LM3909 12
LM5556N 1 B
MC5558V 1.0
LM7525N 9
LM7535N 1.2
803BB 4.9
LM 75450 .4
75451CN .3
75452CN .3
75453CN 3
75454CN .3
75491CN .7
75492CN .8
75494CN .8
RCA LINEAR
CA3013 2.1
CA3023 2.5
CA3035 2.4
CA3039 1.3
CA3046 1.3
CA3059 3.2
CA3060 3.2
CA3D80 E
CA3081 2.C
CA3082 2C
CA3083 IE
CA3086 ,(
CA3089 3(
CA3091 to.;
CA3102 2'.
CA3123 2.1
CA3130 1.3
CA3140 1.2
CA3600 1.7
RC419
RC4195
74LS0O
74LS02
74LS03
74LS04
74LS05
74LSD8
?4LS10
74LS13
74LS14
74LS20
74LS26
74LS27
74LS28
741S30
74LS32
74LS40
74LS51
74LS55
74LS73
29
74LS00
74LS74
74LS75
74LS7B
74LSB3
74LS85
74LS86
74LS90
74LS92
74LS93
74LS95
74LS96
74LS107
74LS109
74LS11?
74L513?
74LS13G
74LS138
74LS153
74LS157
741S162
74LS163
74LS1B4
74 LSI 75
74LS1B1
74LS190
741S191
74LS19?
MIS 193
74LS194
74LS195
74LS257
74LS260
74LS279
7415670
MM5309
MM5311
MM5312
MM5314
MM53I6
MM5318
CT7001
CLOCK CHIPS
6 Digit. BCD Outputs. Reset PIN.
6 Digit, BCD Outputs. 12 or 24 Hour
4 Digit. BCD Oulpuls, 1 PPS Output
6 Digit. 12 or 24 Hour. 50 or 60 Hz
4 Digit. Alarm. 1 PPS Output
Video Clock Chip, For Use Wtlh {MM5B41
6 Digil. Calendar. Alarm, 12 or 24 Hour
1*1
DATA HANDBOOKS
7400 Pin-out & Description of G400/740O ICS
CMOS Pin-oul & Description ol 4000 Surics ICS
- Linear Pin out & Functional Description
^ ALL THREE HANDBOOKS S6.95
S2.95
S2.95
S2.95
I
T201 Slack Bracelel S19.95
3,
T237 wnim w/bratelel S29.95
TZ36 Vellnw w/bracelet S34.95
Tlmeband bymmm/w
— Watches —
Men's & Ladies
• Solid State
• Displays hour, minute,
second, month & day
• Snap-out battery
replacement
• Free set ol replacement
batteries
• Choose LED or LCD
styles
• One year factory
warranty
TC441 While w/slrap S29.S5
TC440 Yellow w.sliau S34.9S
T311 While w/slrap $34.95
T310 Velio* w slrap $39.95
CHANNEL F
^"$159.95
mt/KMMo nofo effTFurff/tnuem srsm*
• Freeze Action • Speed Option
• Automatic time and scorekeeping
Battery-tree AC operation
Dual controls with 8-way action
Built-in Pro Hockey and Tennis games
Easy hook-up on any B/W or Color TV
Factory warranty
Channel F — additional cartridges — $19.95 ea.
#8112 - Desert Fox/Shooting Gallery #8113 - Blackjack (1 or 2 players)
#8114 - Spitfire (1 or 2 players) #8115 - Space War
#8111 - Tic-Tac-Toe/Shooting Gallery/Doodle/Quadra-Doodle
XC209
XC2Q9
XC709
XC209
XC22
XC22
XC22
XC22
SSL -22
125" ma.
Orange
Yellow
.200" dia
Red i
Green
Yellow
Orange
.190" dia.
Red
10 SI
DISCRETE LEDS
4.-S1
XCS26
Red
XC526
Green
XC526
Yellow
XC526
Orangp
XC526
Cleat
XC556
Red
XC556
Green
XC556
Yellow
XC556
Orange
XC556
Clear
Green
Yellow
□range
.0B5" dia.
MV50 - Red - 6 SI
INFRA-RED LEO
'*' x'.«"xt/16"
Flat SfSI.OO
SPECIAL * — XC556 Red 100/58.00 1000/S60.00 — SPECIAL *
DISPLAY LEDS
TYPE
MAM 1
MAN 2
MAN 3
MAN 4
MAN J
MAN ?G
MAN 7Y
MAN 52
MAN G4
MAN 74
MAN 8?
MAN 84
MAN 3f>20
POLARITY
Cnminan Anode
S i 1 Doi M,mu
Common Cathode
Common Caihode
Cofnmon Anotle
Cemmoti Annde-qieen
Common Annde-yellow
Common Annde-jreen
Common Anode-ted
Common Ctlliode
Common Anode-yellnw
Common Catliodc yellow
n Ann
nrPE
MAN 3640
MAN 4r10
DL701
DL704
DL707
MAN 4-74G
DL741
DL W
OL 750
DL 33B
FND70
FND503
TND507
POLARITY
Common CaUtofle-orange
Common Anode- Red
Common Anode-fed -
Common Caihode
Common Anode
Common Anooe-Hed
Common Anode
Common Anode
Cu"inon Cainode
Common Cathode
Common Cathode
Common CalrimlR
5U0 1 00
FACIORY
flCJECTS
BOARD A- 8V » 16"
Over GO each reusable IC's
Misc Transislors, Reststois.
Diodes. Caps. Ciysiais. Switch, etc
DELUXE BOARD B — 11V* U
Over 100 each reusable 1C s
Misc. Tranislors. Resislors.
Diodes, Caps, Crystals. Switches, LEDS. etc
ATARI GAME BOARDS
S6.95 ea.
ONLY 500 EA
AVAILABLE
S9.95 ea.
ONLY 500 EA
AVAILABLE
HP 5082-7300 Multi-Digit Series
Va" Ht. « Common Cathode • Dip Package
3 to 5 volts @ 5 mils per segment
7 segment Monolithic • Red Display
2 Digll $ .79
3 Digit .89
4 Digit .99
5 Digil 1.19
fC SOLDERTAIL — LOW PROFILE (TIN) SOCKETS
1Bpin
22 pin
It pin
16 pin
10 pin
14 pin
16 pin
t;' SOLDERTAIL STANDARD (TIN)
SOLDERTAIL STANDARD (GOLD)
WIRE WRAP SOCKETS (GOLD) LEVEL #3
24 pin
50 PCS. RESISTOR ASSORTMENTS $1 .25 PER ASST.
ASST. 1
ASST. 2
J
^ ASST. 3
o
-ASST. 4
C/3ASST. 5
ASST. 7
ASST. 8R
10 OHM 12 OHM 15 OHM IB OHM 22 OHM
27 OHM 33 OHM 39 OHM 47 OHM 56 OHM
6B0HM 32 OHM 100 OHM 120 OHM 150 OHM
1B0 OHM 220 OHM 270 OHM 330 OHM 390 OHM
470 OHM 560 OHM 680 OHM S?0 OHM 1K
I 2K
3 3K
1 5K
3 UK
1 BK
4 /K
220K
560K
1 5M
3 9M
2 2K
5 GK
?7K
1/4 WATT 5% 50 PCS,
GO
1/4 WATT 5% 50 PCS. ~&
I
1/4 WATT 5% 5D PCS.]
1/4 WATT 8% 50PCS.
Includes Resistor Assortments 1 -7(350 PCS.) $7.49 ea.
SS.OO Minimum Order — U.S. Fundi Only
California Rasldantt — Add 6% Salei Tsx
Spec Sheets - 25c — Send 35c stamp tor 1977A Catalog
Dealer Dltcounl Available — Reouett Pricing
1021-A HOWARD AVE., SAN CARLOS. CA. 94070
PHONE ORDERS WELCOME — (415) 592-8097
All Advertised Prices Good Thru July
WIRE WRAP CENTER
HOBBY-WRAP TOOL-BW-630 1
1\
$34.95 *
Iballenes no! mcludeol
Batteiy Operated (Size C)
Weighs ONLY 11 Ounces
Wraps 30 AWG Wire onto
Standard DIP Sockets (.025 inch)
Complete with built-in bit and sleeve
WIRE-WRAP KIT — WK-2-W
WRAP . STRIP . UNWRAP
• Tool tor 30 AWG Wire
• Roll of 50 Ft. White or Blue 30 AWG Wire
• 50 pes. each 1". 2". 3" S 4" lengths
pre-stripped wire.
$11.95
WIRE WRAP TOOL WSU-30
WRAP . STRIP . UNWRAP- 15.95
WIRE WRAP WIRE — 30 AWG
25ft. min. $1.25 50tl.S1.95 100ft. S2.95 1000h.S15.00
SPECIFY COLOR — White - Yellow - Red - Green - Blue - Black
Plastic Push Button Switch
' IS AWG Solid Wire - 5" Long
' .50 (wide) X .60 Irtish) '■•-21 Thread
' 8 AMP @ 14 Volt - 1 AMP f§ .10 Volt
1-9 10-Up
J-188-1 Push On-Push Off .59 .49
J-188-2 Normally Open 59 .49
J-188-3 Normally Closed .59 .49
DIP SWITCHES
SPST Slide Action
#206-4 ( 8 pin dip) A switch unit $1.75 ea.
#206-7 (14 pin dip) 7 switch unit $1.95 ea.
1 #206-8 (16 pin dip) 8 switch unit $2.25 ea.
TV GAME CHIP SET — $18.50
Includes AY-3-8500-1 chip and 2.010 mhz crystal —
if purchased separately would cost S21.90.
TYPE
1\746
1N751A
IN 752
1N753
1N754
1N959
1N965B
IN5332
1N5234
1N5235
1N5236
IN456
1N4SB
1N4BSA
1N4001
1N4O03
1N4003
IN40O4
ZENERS -
VOLTS W
3.3 400mm
5 1 400m
5.6 400m
6.2 400m
6.5 400m
8 2 400m
15 400m
5.6 500m
6 2 500m
6.B 500m
7.5 500m
25 40m
150 7m
180 10m
50 PIV 1 AMP
100 PIV 1 AMP
200 PIV 1 AMP
400 PIV 1 AMP
DIODES —
PRICE TYPE
4/1 00 1N4005
4/1 00 1N4O06
4/1.00 1N4007
4/1.00 1N3600
4/1 00 1N414B
8/100 1M4154
4/1.00 1N4305
28 1N4734
2B 1N4735
1N4736
RECTIFIERS
VOLTS W
600 PIV 1 AMP
800 PIV 1 AMP
1000 PIV I AMP
200m
10m
10m
10/1.00
10/1 00
6/1.00
1511.00
12/1 00
20/1.00
28
28
28
fJ4738
1N4742
6/1 00 1N4744
6/1.00 1N1183
12/1 00 1N1184
12/1.00 1N1185
12/1 00 1N1186
12/1.00 1N1188
1w
12
15
50 PIV 35 AMP
100 PIV 35 AMP
150 PIV 35 AMP
200 PIV 35 AMP
400 PIV 35 AMP
SCR AND FW BRIDGE RECTIFIERS
C36D
C3BM
2N2328
MDA9B0-I
MDA 9BO-3
35A @ 200V
1 6A@20OV
FW BRIDGE REC
FW BRIDGE REC
MPS ADS
MPS A06
2NJU19A
2M22I
WIWA
2N23G3
2N:>:!i.'M
2N24B4
7N23D6A
2N2907A
2N2D25
2N3053
2N3D55
MJl31ft!i
MJE2955
. 2N3392
i 2N3398
5:S I 00
3,'SI no
4/1 1 00
Mi oc
TRANSISTORS ™«*»
PM4ES0
3/S1.00 2N44DO
4.11 00 2N4401
■I'SI 00 2N«0?
musa
PN3567
PN3568
, PNJ569
2N3704
2N37D5
2N3706
2N3707
2N371 1
2N3724
2N3725
2N3903
2N3904
2N3905
?N3M5
2N4013
2N4014
5.'5I DO JQ, 2N4J09
5/SI 00 (T 2N50B6
S.-S1 00 i 2U5CB7
BS1 00 [| | ZNaOEIS
2N4123 10 SI 00
CAPACITOR
10 pt
22 p(
47 pi
100 pi
220 pi
470 pt
.001ml
.0022
0047ml
01ml
1 /35V
.15/35V
.22/35V
33/35V
47/35V
6B/35V
1 0/35V
50 VOLT CERAMIC
DISC CAPACITORS
1-9 10-49 50-100
5 .04 .03 OOVF
5 .04 .03 .0047/^F
5 .04 .03 .OVF
5 .04 .03 022MF
5 .04 .03 .047,iF
100 VOLT MYLAR FILM CAPACITORS
.12 .10 .07 .022ml 13
.12 .10 .07 ,047ml 21
.12 .10 .07 .1ml .27
.12 10 .07 .22ml 33
+ 20% DIPPED TANTALUMS (SOLID) CAPACITORS
.28 .23 .17 1.5/35V
CORNER
t-9 10-49 50-100
.26
.28 .23 .17 2.2/25V .31 .27
.28 .23 17 3.3/25V .31 .27
.28 23 .17 4.7/25V .32 .28
28 .23 17 6.8/25V 36 .31
.28 .23 17 10/25V .40 .35
.2B .23 .17 15/25V .63 50
MINIATURE ALUMINUM ELECTROLYTIC CAPACITORS
t 0/50V
3 3/50V
4.7/25V
10/25V
10/50V
22/25V
22/50V
47/25V
47/50V
100/25V
100/50V
220/25V
220/50V
470/25V
1000/ 16V
2200/ 16V
.13
.10
.47/25V
.47/50V
1.0/16V
1.0/25V
1.0/50V
4.7/16V
4.7/25V
4.7/50V
10/16V
10/25V
10/50V
47/50V
IO0/16V
10O/25V
100/50V
220/ 16V
470/25V
Radial Lead
15
/ -^(CRYSTALS
( as
pm#"
CV1A
CV2A
CV3A
CV7A
CY1ZA
CY14A
CY19A
CY2ZA
CY30B
[THESE FREQUENCIES ONLY
Frequency
1.000 MHz
2.000 MHz
4.000 MHz
5.000 MHz
10.000 MHz
14.31818 MHz
18.000 MHz
20.000 MHz
32.000 MHz
Casa/Style
HC33/U
HC33/U
HC18/U
HC18/U
HC18/U
HC18U
HC18/U
HC18/U
HC18/U
S5.95
15.95
S4.95
S4.95
S4.95
S4.95
S4.95
S4.95
S4.95
XR-2206KB Kit $29.95 Special XR-2206KA Kit $19.95
EXAR
WAVEFORM
GENERATORS
XR.-205 S3 40
XR-2206CP A 49
XP.-2207CP 3 85
STEREO DECODERS
XR-1310CP S320
XR-131CEP 3 20
TIMERS
S 39
XH-555CP
XR-320P
XR-556CP
XR-2556CP
XR-224GCP
PHASE LOCKED LOOPS
XR-21Q
XR-215
XR-567CP
XR-567CT
3 20
r'7<)
CONNECTORS
PRINTED CIRCUIT EDGE-CARD
.156 Spacing-Tin-Double Read -Out
Bifurcated Contacts — Fits .054 to .070 P.C. Cards
15/30 PINS (Solder Eyelet) S1.95
18/36 PINS (Solder Eyelet) $2.49
22/44 PINS (Solder Eyelet) $2.95
50/100 (.100 Spacing) PINS (Solder Eyelet) $6.95
25 PIN-D SUBMINATURE
DB25P PLUG $3.25
DB25S SOCKET $4.95
3V2 DIGIT DVM KIT
This 0-2 VDC .05 per cent digital voltmeter features the Motorola 3% digit
DVM chip set. II lias a .4" LED display and operates from a single + 5V
power supply The unit is provided complete with an injection molded black ■
plastic case complete with Bezel. An optional power supply is available
which tits into the same case as the 0-2V DVM allowing 1 17 VAC operation.
A. 0-2V DVM with Case $49.95
B. 5V Power Supply $14.95
Etching Kits
32 X A:1 "
27 X A-1
Plugboards
3662
8800V
© Peelot
P C. Etch Materials Kit
enough lor 5 circuit boards
Etched Circuit Kit
Complete kit — only arJO water
6.5X4.5 X 1/16 Epoxy glass
P-Pattem-44 P.C. Tabs-spaced .156"
Universal Microcomputer/Processor
plugboard — Epoxy Glass — complete
with heatsink and mounting hardware
5.313 X 10 X 1/16 copper clad
$29.95 ea.
S 9.95 ea.
S 6.95 ea.
$19.95 ea.
1/16 VECTOR BOARD
B4P44 062XXXP
HS9P4-I 02XXXP
64P44 062
1I4P44 062
I6QP4-1 062
1G9P8J 062
1E9P4.1062C1
2 -Up
3 32
205-CB BwyBtui
291-.36H Alummu
680-.75A .Black A;
HEAT SINKS
y
Copper Meat Sink witfl Gl.ick Finish for TO-5 $ .25
) Heal Sink lor TO-220 Transistors & Regulators S .25
irwed Aluminum $1.60
HEXADECIMAL ENCODER 19-KEY PAD
.^>. .1-0
^.tJOtfct . ABCDEF
ME ,.;'-:,->; |jfc • Return Key
^H • Optional Key (Period)
■ Key
$10.95 each
63 KEY KEYBOARD
Tins keyboard leaTut
r;<!!lfd SPS1 if.'S (jtt,iti,i
any kind of P.C.B A ve
molded phsnc 13" t ~
■M;h; irio:;i apfjhcr.iinri;,
63 ur
$19.95
MO0165 t6 LINE TO FOUR BIT PARALLEL KEYBOARD ENCODER
JOYSTICK
These joysticks feature four *
potentiometers, that vary re-
sistance proportional to the
angle of the stick. Sturdy metal
construction with plastics
components only at the mova-
ble joint. Perfect for electronic
games and instrumentation.
*5K Pots $4.95
00K Pots $7.95
MICROPROCESSOR COMPONENTS
8212
8214
8216
8224
CDP1802
2519
2524
2525
2527
2529
2532
2533
3341
74LS67G
-1013
CPU
8 Bit Input/Output
Priority Interrupt Control
Bi-Direclional Bus Driver
Clock Generator/Driver
with user manual
CPU'S
Super 8O0B
Super BO06
1024 Dynamic
Hex 32 BIT
He. 40 BIT
512 Dynamic
1024 Dynamic
Dual 255 BIT
Dual 512 BIT
Quad 80 BIT
1024 Sialic
Fita
16* 4 Reg
30K Banc
S19.95
4.95
15.95
6.95
10.95
39.95
8228 System Controller - Bus Driver $10.95
MC6800L 8 Bit MPU 35.00
MC6B20L Periph. Interlace Adapter 15.00
MC6810AP1 128 x 8 Static RAM 6.00
MC6830L7 1024 x 8 Bit ROM 18.00
Z80 CPU 49.95
Sialic 5.95
Static 1.78
Dynamic 4.95
Static 6.95
Static 2 49
Sialic 6.95
Static 6.95
B599
16 x 4
Static
3 49
91L02
102-1- '
St.ttic
2.25
74200
256 x l
Static
6.95
93421
256 x 1
Sialic
2.95
IMM52&
2Kx 1
Dynamic
2 for 1.00,
I70?A
5203
B2S23
B2S123
OpenC
Tnstale
BOM'S
2513(2140) Char. Gea -upper c
2513(3021) Char. Gen. -lower c;
2516 Char. Gen
S 9.95
995
10.95
|2703
6301-1
6330-1
6331-1
Tri-Slate Bipolar
Open Collector Bip
Tri-Slate Bipolar
3.95
3.4"!
2,95
2.95
AY-3-8500-1 !
MC3061P
MC4016P (744161
MCI 4583
MCI 4 562
CD4059
CD4070
SPECIAL REQUESTED ITEMS
CD4508
C04515
CD4520
MCM6571
MCM6574
MCM6575
82S115
584 1
MK50?40
17.50
17.50
1995
3,75
10.50
3341
9368
MC1408L7
LD1T0/L01T1
AY-5-9100
95H90
395
9.95
25 OO/set
PARATRONICS
ALLOW 1 TO 3
WEEKS DEUVERY
Featured on February's Front Cover of Popular Electronics
Logic
Analyzer Kit
■ Analyzes any type of digital system
i Checks data rates in excess of 8 million
words per second
i Trouble shoot TTL, CMOS, DTL. RTL,
Schottky and MOS families
Displays 16 logic slates up to 8 digits wide
See ones and zeros displayed on your
CRT, octal or hexadecimal format
Tests circuits under actual operating
conditions
Easy to assemble — comes with step-by-step construction manual
which includes 80 pages on logic analyzer operation.
MODEL
100A
$189.00/Kit
Some applications are:
— Troubleshooting microprocessor
address, instruction, and data flow
— Examine contents of ROMS
— Tracing operation of control logic
— • Checking counter and shift
register operation
— Monitoring I/O sequences
— Verifying proper system operations
during testing
®
BUGBOOK
Continuing Education Series
BUGBOOK I & II
BUGBOOK lla -
BUGBOOK III -
Basic concepts of TTL Logic — over 90
experiments $17. 00/set
Introduces UART — recommended
tor RTTY enthusiast S5.00/book
Explores 8080 chip — introduces
Mark 80 Microcomputer S15.00/book
555 TIMER APPLICATIONS SOURCEBOOK WITH
EXPERIMENTS — over 100 design techniques $6.95/book
CMOS-M-DESIGNERS PRIMER AND HANDBOOK
a complete CMOS instruction manual $6.00
Introductory Offer — all 6 books (worth $49 95)
SPECIAL - S42.95
1
CONTINENTAL SPECIAL
PR0T0 BOARD 6
S15.95
(6" long X 4' wide)
Other CS Prolo Boards
PB10O -4.5" x6" $ 19.95
PB101 -5.8" x 4.5" 29.95
PB102 - 7" x4.5" 39.95
PB103 - 9 ' x 6" 59.95
PB104 - 9.5" x 8" 79.95
PB203 -9.75 x6V! x 2% 75.00
PB203A -9.75x6'/2x2% 120.00
(includes power supply)
Logic Monitor
lor DTL, HTL, TTL o
CMOS Devices
*M-95 ' QM3
IES
PROTO CLIPS
14 PIN $4.50
16 PIN 4.75
24 PIN 8.50
DESIGN MATES
DM1 - Circuit Designer
54.95
Function Generator
69.95
RC Bridge
59.95
CD Timebcind T\
Digital Alarm Clocks
C-500 - ivory Case
C-500B - Ebony Case
$16.95
i 24-hour alarm
» Doze Button
. 100% Solid State
> Large Red Led Display
l.B" hirjh)
. AM/PM indicator
i Seconds display at touch
ot button
. Power failure indicator
i One year factory warranty
DIGITAL AUTO INSTRUMENT
SEVEN DIFFERENT INSTRUMENTS!
MEETS OH EXCEEDS ORIGINAL AUTOMOTIVE SPECS.
Please specify which one of the seven models you want
when ordering - these do not a!! come in one unit.
Each model must be bought separately.
TACHOMETER
1 O-99O0 RPM
6 or 8 Cyclinders
FUEL LEVEL
3 Percentage
Low Fuel Indicator
OIL PRESSURE
0-80 PSI
BATTERY MONITOR
±1 Volts From 11-15 VDC
BRIGHT YELLOW ORANGE
.3" t FD DISPLAY!
includes case, bracket and all components — complete.
Nothing else to buy! 12 Volt NEG GFID.
DIMENSIONS: 4Vj x4x2 KIT: $49.95
Add $10.00 lor required speed transducer. ASSEMBLED: $59.95
DIGITAL STOPWATCH
• Bright 6 Digit LED Display
• Times to 59 minutes 59.59 seconds
• Crystal Controlled Time 8ase
• Three Stopwatches in One
Times Single Event — Split & Taylor
• Size 4. 5" x 2.15" x .90- [AVt ounces)
• Uses 3 Penlite Cells.
Kit — $39.95
Assembled — $49.95
Heavy Duty Carry Case $5.95
Stop Watch Chip Only (7205) S19.95
ELECTRONIC 'PENDULUM' CLOCK
ft
• Swing Pendulum
• .7" Hours and Minutes Display
• 12 or 24 Hour Mode
• Time Set Push Buttons
• Alarm Feature
Kit-unfinished $59.95
{case unassembled)
Assembled -stained $69.95
(case assembled)
QUARTZ DIGITAL AUTO CLOCK
OR ELAPSED TIMER!
Elapsed Timer: Hre, Mint anil Sect
12 or 24 Hr Capacity
Simple Reset - Start Pushbutton
Control
Complete kit includes mounting bracket,
case and all components, nothing else to
buy. Features MM5314chip: Large .4" LED s.
Accuracy better than ± min. per mo. in:ernal
battery backup. 12 volt non-polar operation.
x2'
Kit: $29.95
Assembled: $39.95
CASE ONLY (includes hardware, mounting bracket and bezel) $6.50
JE700 CLOCK
The JE700 is a low cosl digital clock, but
is a very high quality unit The unit fea-
tures a simulated walnnl case with di-
mensions of 6" x f/t" X 1' It utilizes a
MAN72 high brightness readout, and the
MM531-I clock chip.
$17.95
DM2 -
QT PROTO STRIPS
QT lyps
OT-59S
QT-59B
QT-47S
QT-47B
0T-35S
OT-35B
QT-18S
OT-12S
QT-BS
OT-7S
bus strip
350
bus strip
12.50
2.(10
4.75
3.75
Experimentor 300
Experimenter 600
S 9.95
S10.95
S5.D0 Minimum Order — U.S. Funds Only
California Residents — Add 6% Sales Tax
Spec Sheett - 25c — Sand 35c Stamp (or 1977A Catalog
Dealer Discount Available — Requett Pricing
1021 -A HOWARD AVE., SAN CARLOS, CA. 94070
PHONE ORDERS WELCOME — (415) 592-8097
All Advertised Prices Good Thru July
DIGITAL CLOCK KIT — 3% INCH DIGITS
4 DIGIT KIT $49.95 4 DIGIT ASSEMBLED $59.95
6 DIGIT KIT $69.95 6 DIGIT ASSEMBLED $79.95
This dock features big 3V?" high digits for viewing in offices, auditoriums,
etc. Each digit is formed by 31 bright 0.2" LEO's The dock operates from
117 VAC, has either 12 or 24 hr. operation. The 6 digit version is 27" x
ZW x 1 V»" and the 4 digit is 1B" x 3W x 114", Kits come complete wtth
all components, case and transformer.
Specify 12 or 24 Hour When Ordering
JE803 PROBE
The Logic Probe is a unit which is lor Ihe mosl pan
indespensinle m trouble shooting logic families
TTL. OTL. RTL. CMOS It derives the power il
s to operate directly oil ot ihe circuit undei
drawing a scant 10 mA mat II use; a MAN3
readoul 10 indicate any ot the following States by
these symbols (H) ■ t (LOW) ■ o (PULSE) ■ P The
Probe can deled high treguency pulses to 45 MHz
;an I be used at MOS levels or cuciiit damage
. result
$9.95 Per Kit
printed circuit board
PL 5V 1A Supply
This is a slardard TTL power supply using Ihe well known
LM309K regulator IC to provide a solid 1 AMP ot current at 5
volts. We try to make Ihings easy tor you by providing
everything you need in one package, including ihe
ior on $9.95 per Kit
Circle 87 on inquiry card.
computer display terminal
This display terminal has an integral controller, B/W cathode ray tube and keyboard. The system has a serial I/O interface
for communication and an I/O interface for a printer
DISPLAY (P/N 4802-1095-501) FEATURES:
• 17" B/W CRT
• 41 lines of data
• 52 characters per line
• Characters are generated by a diode matrix "graphic"
technique
• 21 special push-buttons wired for a program call up
• Brightness Control
• Self-contained power supply
KEYBOARD (P/N 4802-1115-501) FEATURES:
• Reed switch technology
• 54 data keys
• 28 special keys detachable with cable
LOGIC UNIT (P/N 4802-1157-502) FEATURES:
• 1 024 by 6 bit core memory
• Printer I/O interface
• Communication I/O interface
POWER: 115V, 50/60 Hz, 500 Watts
WEIGHT: 210 lbs. (including logic unit, keyboard,
display and cables.)
FOB LYNN MASS (you pay shipping)
Check with order please.
$180.00
External logic & power pack not shown.
u
AS IS
J?
4 way cursor control, graphics display.
The story: These are unused terminals made for airport
ticketing & seat assignment. After several years of
storage they require tinkering to make operable. We have
some hints printed such as cleaning PC fingers. One of
our customers has this tied into his KIM-1, another has
his running with his IMSAI. We have data on this.
Should be useable on most common computers. A hell
of a deal and all for a paltry $180.00- Don't be left out
as many were on our past VIATRON deal. Sold "as is"
all sales final.
WITH COMPLETE DOCUMENTATION
SPECTRA FLAT TWIST
50 conductor, 28 gauge, 7 strands/
conductor made by Spectra. Two con-
ductors are paired & twisted and the flat
ribbon made up of 25 pairs to give total
of 50 conductor. May be peeled off in
pairs if desired. Made twisted to cut down
on "cross talk." Ideal for sandwiching PC
boards allowing flexibility and working
on both sides of the boards. Cost orig-
inally $13.00/ft
SP-324-A $1 .00/ft. 1 0 ft/$9.00
SP-234-A $1.00ft50cond. 10ft/$9.00
SP-234-B .90ft32cond. 10ft/$8.00
In tall TO-5 can TINY
DPDT, 24 volts. Brand new. SWITCH
cost $16.00 each TELEDYNE
SP-134 $3.00 each 2/$5.00
WIRE WRAP WIRE
TEFZEL blue #30 Reg. price
$13.28/100 ft. Our price 100 ft $2.00;
500 ft $7.50.
MULTI COLORED SPECTRA WIRE
Footage
8 Cond
12 "
14 " 22
29 " 22
10'
#24 $2.50
22 3.00
50' 100'
9.00 15.00
11.00 18.00
3.50 13.00 21.00
7.50 28.00 45.00
Great savings as these are about 1/4
book prices. All fresh & new.
sTie&wuz
Precision 16 pin DIP network as shown.
Each resistor IK. For pull-up/pull down
interface networks. Value over $1.00
each; New, CTS or Beckman
J^AfiJ^U^LR,
sp-320 pack of 6 $1 .oo 1^4^^^
Please add shipping cost on above. Minimum order $10
FREE CATALOG SP-9 NOW READY
P.O. Box 62, E. Lynn, Massachusetts 01904
Circle 18 on inquiry card.
I
ITM
II U I CrilWLE
MICROCOMPUTING FOR HOME AND THE SMALL RUSINESSMAN
The professional publication bringing microcomputing technology to the hobbyist, small businessman, educator,
engineer and student. Every issue edited to bring technology and people together in the simplest manner.
INTERFACE AGE is packed with
HARDWARE ARTICLES — Product profiles, comparisons,
applications, modifications and construction pro-
jects.
SOFTWARE ARTICLES — Microcomputer development
software, short software routines, application
software, off-line software storage formats, software
communication standards and access to the
microcomputer software depository for all INTER-
FACE AGE readers.
TUTORIALS — Fundamentals of micro processors, basics for
microcomputing, professional to technical transition
information, understanding software, elementary
math for computing.
• NEW PRODUCTS — Manufacturer profiles and latest
product releases.
USER COMMUNICATION - UPDATE - devoted to
club and organization announcements
and activities. — LETTERS TO THE
EDITOR — Reader forum for expression
of opinions and feedback on articles and
features.
MICRO-MARKET/FIFO FLEA MARKET - Low cost/no
cost advertising for the new
marketeer/garage sale enthusiast.
If you need to know how to get started in microcomputing or need the valuable software once
your system is completed then INTERFACE AGE is a must for you.
Don't Delay — Subscribe Today!
r
INTERFACE AGE MAGAZINE
1
P.O. Box 1234
Cerritos, CA. 90701
12 Monthly Issues:
$10 U.S., $12 Can./Mex.,
$18 International
□ CHECK
□ MONEY ORDER
Name.
Address.
City
Country .
State-
Zip.
L
MAKE CHECK PAYABLE TO: INTERFACE AGE MAGAZINE
Circle 89 on inquiry card.
J
NEW COMPUTER INTERFACE BOARD KIT
Our new computer kit allows you to interface
serial TTL to RS 232 and RS 232 to TTL There
are four of these supplied with the kit, so you
can run up to four devices on one TTL or four
separate TTL to RS 232 devices.
Typical use: You can use your computer
ports to run an RS 232 printer, video terminal
and two other RS 232 devices at once, without
constantly connecting and disconnecting your
terminals.
Example: Out store to printer — Voltage
Q Q requirement + 5V and ± 5V or ± 12 V depend-
ing on your RS 232 device.
We supply — board, connectors, documen-
tation and components. Sorry, we do not supply
case or power supply.
GENERAL PURPOSE COMPUTER POWER SUPPLY KIT
This power supply kit features a high frequency torroid transformer with switching
transistors in order to save space and weight. 115V 60 cycle primary. The outputs
with local regulators are 5V to 10A, in one amp increments, - 5V at 1A, ± 12V at 1 A
regulators supplied 6 340T-5 supplied.
$79
00
UNIVERSAL 4K
MEMORY BOARD KIT
$74
50
This memory board may be used with the
F8 and with minor modifications may be used
with KIM-1jup.
32-2102-1 static RAM's, 16 address lines,
8 data lines in, 8 data lines out, all buffered. On-
board decoding for any 4 of 64 pages, standard
44 pin, .156" buss.
F8 EVALUATION
WITH EXPANSION
A fantastic bargain for only
with the following features:
• 20 ma or RS 232 interface
• 64K addressing range
• Program control timers •
• 1K of on-board static •
memory •
• Built in clock generator •
BOARD KIT
CAPABILITIES
$99
00
64 Byte register
Built-in priority interrupts
Documentation
Uses Fairbug PSU
FOR FAIRBUG 4K F8 BASIC ON PAPER TAPE $2500
2"?08 8K EPROM S24.95
2522STATICSHIFTRE6 S 1 95
2b13 CHARACTER GEN S 9 95
2518 HEX 32BITSR $3.50
2102 1 1024 BT RAM $ i.3g
S2804 K DYNAMIC RAM . S 6-95
MM5202A UV PROM S 6 95
MM5203 UV PROM S 6 9b
1702A UVPROM S 5.95
5204-4K PROM S10 95
AY 5 1013 UART. ; «. ,y .- ,y ;, j 695
MINIATURE MULTI-TURN TRIM POTS
1G0, 500, 2K,5K,10K,25K.50K.tOOK,200K
1 Meg, S.75i;ach 3/S2.00
MULT I TURN TRIM POT S Similar to Bourns
3010siylc3/16"x5/8"x1 1/4". 50. 100.
IK, I0K. 50K Ohms SI .50 mi. . 3/54,00
1.1(11 If ACTIVATED SCHs
TO 18, 200V 1 A S 1.76
TRANSISTOR SPECIALS
2N3585 NPN Si TO 66 S .95
2N3772 NPN Si TO 3 S I 60
2N456A PNP GE S .75
2N4908 PNP Si 10 3 . . S 1.00
2N6056 NPN Si TO 3 Darlington S 1.70
2N5086 PMP Si TO-92 4/S 1.00
2N4898 PNP TO 66 S .60
2N404 PNPGE TO 5 5/S 1.00
2N3919 NPNS. TO 3 RF S 1.50
MI'SA 1 3 NPN Si TO 92 3/S 1 .00
2N3767 NPN Si TO 66 . . S .70
2N2222 NPN Si TO 18 . . . . 5/S 1.00
2N3055 NPN S. TO-3 S .80
2N3904 NPN S. TO 92 . . . 5/S 1 .00
2N3906 PNPSr T0 92 5/S 1.00
2N5296 NPN Si TO-220 S .50
2N6109 PNP Si TO-220 S .55
2N3G38 PNP Si TO-5 5/S 1 .00
2NG5I / NPN TO 92 Si 3/S 1 .00
C/MOS (DIODE CLAMPED)
74C10 22 4016 40 4029 1 10
MCI 93 '50 4017 1.05 4030 .22
4001 .22 4018 1.00 4033 1 50
4002 .22 4019 25 4035 1 10
4006 1 20 4020 1 05 4042 ?B
4007 22 4022 95 4046 2.25
4009 .42 4023 22 4049 40
4010 ,42 4024 , 75 4050 40
4011 .22 4025 22 4055 1 50
4012 22 402G 1 25 4066 SO
4013 40 4027 40 4071 .27
4015 95 4028 HE 4076 1.05
IN 4148 UN914) 15 SI 0U
MCA 81 OP] ICAI ! [Ml i SWITCH SI -■>"
LED READOUTS
FND359C.C..4" S .55 HP 7740 .3" C.C. SI.
FND 70 C.C. A" S .60 MAN-7-.3" C.A. S .
END 503 C.C. .5" Si. 05 NS 33-3 dig. array S .
END 510 C.A 5" SI 05 Dl 747 C A 6" SI
Terms: FOB Cambridge, Mass.
Send Check or Money Order.
Include Pos
Order $5.00, COD'S $20.00
PRINTED CIRCUIT BOARD
7 WATT LD-65 LASER DIODE IR $a95
2N 3820P FET S 45
2N 5457 N FET $ .45
2N2646. ... ... S .45
ER 9O0 TRIGGER DIODES 4' SI 00
2N 6028 PROG UJT S 66
8 PIN DIP SOCKETS . . . S .24
14PIN DIPSOCKETS . . S .25
16 PIN DIP SOCKETS $ .28
18 PIN DIP SOCKETS S 30
24 PIN DIP SOCKETS S ,40
28 PIN DIPSOCKETS $ .50
40 PIN DIP SOCKETS $ .60
VERIPAX PC BOARD
This board is a 1/16" single si tied papei apoxy
board, W'xBW DHILLED and ETCHED
which will hold up io 21 single 14 pin iC's
or 8. 16. ot LSI DIP IC's wiih busses lot
power supply i:npnec'or S4 00
MV5G91 YELLOW-GREEN
BIPOLAR LED SI. 25
FP 100 PIIOl O THANS S .50
RED, YELLOW, GREEN or AMBER
LARGE LED's 6/S1.00
1L-5 (MCT-2) S .75
MOLEX PINS 1 00/$ I 00
1000/ $8 00
10 WATT 2ENERS 3.9, 4.7, 5.6, 8.2,
12,15.18.22.100,150 or 200V e.i. S .60
1 WATT ZENERS4. 7, 5.6,10, 12, 15
18 or 22V ea. S .25
MC6860 MODEM CHIP $9.95
Silicon Power Rectifiers
TANTULUM CAPACITORS
Full Wave Bridges
22UF 35V 5/S 1.00
47UF 35V 5'$1.00
68UF 35V 5S1 00
1UF 35V 5.S1.00
2.20UF 20V5/S1 00
3 3UF 35V 4S1 00
4.7UF 15V 5/S1.00
3A 12A 50A 125A
100 0G
.14 30 .80 3 /0
200 .07
.20 .35 1.15 4.25
400 .09
.25 .50 1.40 6.50
COO .11
.30 .70 1.80 8.50
800 .15
.35 .90 2.30 10.50
1000 .20
.45 1 10 2.75 12.50
SILICON SOLAR CELLS
2V diameter
.4 V at 500 ma. $4.00 / . 2 V at 200 mils $2.00
309K S .95 340K-5.12.15
723 S .50 or 24V. ... SI. 25
LM 376 .... S .GO 340T-5, 6, 8, 12
320K 5 or 15V S1.40 15.18 or 24VS1 10
320T-5,12,15 78 MG 51.35
ot 24V . . $1.25 79 MG SI. 35
RS232 DB 25P male $3.25
CONNECTORS DB 25S female . . S3.95
7400
7401
7402
7403
7404
7405
7406
7407
7408
7409
7410
7411
7412
7413
7414
7416
7417
7420
7425
7426
7427
7430
7432
7437
7438
7440
7441
7442
CTS
MIN1A1 URE DIP
206 4 Fori- SPST s
SW
VUll
TCHES
lies
"
one
nmidip p.ick
lie
SI 75
CTS
2068
Eight SPST
wit
rfws
in .i 16
I
ii DIP
package.
SI 95
ALCU MINIATURE TOGGLE SWITCHES
MTA 106 SPDT SI. 20
Ml A 206 DPDT SI. 70
SOLID STATE SALES
P.O. BOX 74B
SOMERVILLE, MASS. 02143 TEL. (617) 547-4005
WE SHIP OVER 95%
OF OUR ORDERS THE
DAY WE RECEIVE THEM
Circle 90 on inquiry card.
High quality sockets for IC's and PC interconnections. Check
our price and quality and you will see why TRI-TEK Is fast
becoming the leader in IC sockets.
Low Profile DIP Solder Toil (Tin)
1-9
10-24
25-100
SKT-0802 8pin
.15
.15
.14
1402 I4pin
.18
.17
.16
1602 16pm
.20
.19
.18
1802 I8pin
.27
.26
.25
2002 20pin
.29
.28
.27
2202 22pin
.35
.34
.33
2402 24pin
.36
.35
.34
2802 28pin
.42
.41
.40
4002 40pin
.60
.57
.53
3 Level Wire Wrap Gold
5KT-I400
1600
1800
2400
4000
■ 1-9
.38
.42
.73
1.00
1.69
10-24
.37
.41
.65
.91
1.51
25-100
.36
.40
.59
.83
1.37
PRESTRIPPED WIRE WRAP WIRE
Highest quality 30 ga. Kynar insulated silver plated wire For
wrapping. Stripped 1" on both ends. Indicated lengths are
lengths of insulated portion. Packed 100 per sturdy plastic
vial or 1000 per poly bag. Compare our prices I II . Available
in Slack, Red, Yellow and Green. State color desired.
Length
1"
2"
4"
6"
Price per tube of 100
SI. 48 (WW30VC-1)
SI. 60 (WW30VC-2)
$1.85 (WW30VC-4)
S2.20 (WW30VC-6)
Price per bag of 1000
S11.84 (*WW30BK-1)
S12.80 ('WW30BK-2)
$14.80 ('WW30BK-41
SI 7.60 (*WW30BK-6)
ROLLS OF WIRE SAME AS ABOVE '30 ga. KYNAR)
100 Ft. ..$2.95 500Ft $8.95 ioOOft. ..$14.95
IC
INTERCONNECT
ASSEMBLIES
SINGLE END
No OF Pins
GOPOBffiJ
Says
78HGKC 5A VARIABLE REGULATOR
NOW- at last, a high current adjustable regulator.
Same simple circuitry as the popular 78GKC. Needs
only two external resistors to program to any volt-
age between +5 and 30V (? 5A output.
78HGKC $13.95
Spec 30
NEW BOOK
NEW 1977 VERSION OF NATIONAL'S CMOS
Greatly expanded now contains 530 pages of data on the 7AC
series as well as the popular 4000 series. Also has data and
applications on the more complex CMOS products far which
National has become famous.
CMOS DATA BOOK- 77 Edition by National $3.95
PROFESSIONAL TEMPLATES-LOGIC SYMBOLK-Stand MIL806-1
3/4 Size $3.50
1/2 Size (Handy shirt pocket size) $3.25
Conmijte^FlowChart^ynibols^^^^^^^^^^^$3^50
100 PIN MINICOMPUTER PC CONNECTORS
2X50 with . 125" spacing. Solder tall or wrap terminals. By Tl.
PCC-100ST (solder). ...$4.99 PCC-100WW. . . . $4.99 4/S17.75
HCH6571A is an 8192-Bit Horizontal-Scan (Row select)
character generator with shifted characters. It
contains 128 characters In a 7X9 matrix, and has the
capability of shifting certain characters that norm
ally extend below the baseline, such as j,y,g,p and
q. A 7-bit address code is used to select one of
the characters.
Features:
.Static operation
.TTL compatability
.CMOS compatability (5V)
.Shifted character compatability
.Includes Greek alphabet
.Maximum access time =500nS
(See article in March '77 issue of 73 Magazine for
applications including TV-Computer interface)
MCM657IA $9.95
Specs $1.00
I
MM5320 TV SYNC GENERATOR I.C.
Generate all the sync pulses necessary for camera or video
terminals. Use with MCM657IA in the TV-Computer inter-
face. MM5320N SI 8 . 80
Specs 60c;
C30-1 400V, 25A Stud SCR 52.25
SC45E 500V, lOAStudTrioc SI .59
Insulated Stud 400V, 10A TRIAC assembly with built-in
diac. TRI-133 SI .85
TIP-30 40V, 1 amp PNP Plastic 50?
TIP-33 40V, lOAmp NPN Plastic $1.00
LM1815 ADAPTIVE SENSE AMP CHIP.
Used with motor control to adopt to variable input and noise
levels. Applications include zero crossing switch, motor
control, tachometers, motor testing.
LM1 81 5N $5. 72
Specs 30?
1N5393 200V, 1.5A Diode. Sturdy replacem
1 N4003 at a good savi ngs
:nt for
. . 1 5/S1
2N2369 High Speed NPN switching transistor. Marked
for a giant computer company with house number. TO-18
metal case. PRIME PARTS!! 1 1
*2501 -12 (2N2369 House Numbered) 8/$l
LM7812KC/LM340-12. Brand new, industrial excess in-
ventory brings you a real bargain in this +12V, 1A regula-
tor. Made by Silicon General for one of those big 'puter
companies.
LM7812KC/340-12 SI. 49! I
2N3902. High voltage NPN. VCEX=700V, VCEO=400V,
IC=3.5A, PD=100W.
2N3902... SUPER SURPLUS BARGAIN!! I S3. 00
1N2071. 600V, 750mA diodes 15/$]. 00
NUMBER CRUNCHER. MM57109N I.C.
A scientific calculator chip programmed to work with BCD
coded data and hard wired I/O instead of keyboard and
display as usually found. .This allows an easy connect to
data sources such as instruments and micro computer data
busses. Provides you with full range of scientific comput-
ation without the drudgery of having to program the detail-
ed algorithm.
MM57109N...with 22 pages of specs $21.92
Specs only $ 2.00
SIGNETICS 8000 SERIES TTL LOGIC
These quality units are faster and have great)
out capability than standard TTL. From a giai
tory change-over you get real bargain prices,
are house numbered, but we provide a referenci
pin-out sheet.
N8880A.
N8822A.
N8885A.
N8890A.
N8202A.
.Quad-2 input NAND gate
.Dual J-K master/slave F/F.
.Quad 2-input NOR gate
.Hex Inverter
.10 bit "D" type register..
.8/$
A/$
.8/$
.6/$
.. $
All
: and
1.00
1.00
1.00
1. 00
1.25
The following items are available in large quantities
Dealer or manufacturer inquiry is invited.
2N3414.. NPN switch on reels 10/$1
1N753A.. 6.2V, 5%, ^W Zener 5/$l
C106F2.. 50V, 4A SCR w/socket 3/$l
1N967B.. 18V, 57., %W Zener 5/$l
42501-1 Quad Hi speed NPN transistor in 14 pin DIP
package. Similar to Motorola HPQ3303 5/$l
MC14411 BIT RATE GENERATOR.
Single chip for generating selectable frequencies for equip
ment in doto communications such as TTY, printers, CRT s
or microprocessors. Generates 14 different standard bit
rates which are multiplied under external control to IX,
8X, 16X or 64X initial value. Operates from single +5
volt supply. MC14411 $11.98
4 pages of data 40
Crystal for the above $4.95
• Accuracy: 10.05% of Reading it Count
• Two Voltage Ranges: 1.999 V and 199.9 mV
• Up to 25 Converiions/t
• Zjn> 1000 M ohm
• Auto-Polarity and Auto-Zero
• Single Positive Voltage Reference
• Standard R-Senes CMOS Outputs-Drives One Low Power
Schottky Load
• Uies On-Cliip System Clock, or External Clock
• Low Power Consumption: 8.0 mW typical @ ±5.0 V
• Wide Supply Range: e.g.. ±4.5 V to ±B.O V
MC14433 SINGLE CHIP 3JDIGITA/D
Single chip combines linear and CMOS digital to bring you
the simplest yet DVM approach. Requiring only 4 external
passive parts, this subsystem gives you: Auto polarity, auto
zero, single voltage reference, 8 mW operation, overrange,
underrange signals, 25 conversions per second and .05% i
1 count accuracy! 100 uV resolution. 24 Pin DIP.
MCI 4433P with specs $19.55
tm-tek, inc.
6522 noetri 43P0 Avenue.
GlenoALe, ARizona swoi
phone 602 - 931-6949
We pay surface shipping on all orders over $10 US, $15 foreign in US funds.
Please add extra for first class or air mail. Excess will be refunded. Orders
under $10, add $1 handling. Pleose add 50^ insurance. Master charge and
Bank America cards welcome, ($20 minimum). Telephone orders may be placed
10AM to 5:30PM daily, Mon thru Fri . Call 602-931-4528. Check reader
service card or send stamp for our latest flyers packed with new and surplus
electronic components.
Circle 91 on inquiry card.
Header Service
Inquiry No. Page No.
70 Alpha Digital Systems 163
14 Anderson Jacobson 50
7 Apple 22, 23, 24
1 1 Backer-Lorinq 32
51 Bits Inc 129,135,142-145,160
71 Bits and Bytes 163
41 BPI 131
72 Charles Floto 163
73 Cheap Inc 163
56 Comptek 151
4 Compucolor 6, 7
24 Computalker 87
74 Computer Corner 163
75 Computer Depot 163
61 Computer Enterprises 154
76 Computer Hut 163
77 Computer Mart of NH 163
47 Computer Room 137
31 Computer Land 107
68 Computer Store 162
83 Computer Warehouse 167
22 Continental Specialties 83
2 Cromemco 1, 2
39 DAJEN Electronics 128
63 Data Search 155
34 DataSync113
21 Digital Group 77
33 Digital Research 111
92 ECDCIII
78 Educational Data 164
59 Edityper153
85 Electronic Warehouse 168
79 EMA Industries 164
27 Extensis 99
To get further information on the products advertised in BYTE, fill out the reader
service card with your name and address. Then circle the appropriate numbers for the
advertisers you select from this list. Add a 9 cent stamp to the card, then drop it in the
mail.
*Correspond directly with company.
Inquiry Nc
i. Page No.
86
Godbout 169
#
HAL Communications 134
18
Heath Company 60, 61 , 62, 63
28
Heuristics 101
80
HybirdTech 164
8
iCOM 26, 27
3
IMSAI 5
89
Interface Age 1 73
50
International Data Systems 141
87
James 170, 171
40
Kent Moore 130
94
Logic Design Inc 164
88
Meshna 172
97
Microcom 129
95
Microcomp 164
58
Mini Computer Suppliers 152
35
Micromation 115, 117
60
Microware 1 53
44
MSI 133
82
Mikos 166
38
MiniTerm 125, 148
93
MITSCIV
81
Morrow 165
6
Motorola 91
62
mpi 154
55
Mullen 151
29
National Multiplex 103
16
North Star Computers 57
66
Objective Design 160
12
OSI 40
20
OK Tool 76, 139
65
Oliver Audio Engineering 158
43
Omni 132
49
PAIA 140
53
Parasitic Engineering 47, 147
Inquiry No
23
54
48
5
17
37
96
26
19
15
69
32
57
13
90
1
80
25
67
10
42
46
84
91
52
9
36
64
30
Page No.
PC 77 51,159
PerCom Data 11, 150
Peripheral Vision 85
Personal Computing Expo 161
Polymorphic Systems 33
Prentice Hall 149
Prime Radix 138
Processor Technology 8, 9, 10
Quay 59
RHS Marketing 120, 121
Rotundra Cybernetics 164
Howard W Sams 97
Scelbi 69
Scientific Research 35
Seals 55
Serial Systems 163
Smoke Signal Broadcasting 109
Software Records 1 52
Solid State Music 41
Solid State Sales 174
Southwest Tech CI I
Sunny Computer Stores 164
Synchro-Sound Enterprises 88, 89
Tarbell Electronics 162
Technical Design Labs 31, 117
Technical Systems Consultants 132
Telpar 136
Trico 167
Tri Tek 175
Urban Instruments 146
Vector Graphic 28, 29, 95
Worldwide Electronics 116
Xybek 155
Ximedia 105
G0MG
[ Y II V (Jnf,ci(if> Mtiniftip Etx
The April BOMB, Exploded. . .
There are risks associated with every
action one can take, and occasionally the
results fulfill the worst expectations. The
April 1977 issue of BYTE bombed on con-
tent with respect to the inclusion of several
(ie: lour articles) on a fiction theme, and
one intentionally outdated (as April Fool)
microprocessor update on the 8008 (which
became obsolete for new design with the
On BOMB Card,
Article No.
ARTICLE
1 Brown: How to Computerize Your Model Railroad
2 Hall: This Circuit Multiplies
3 Borrmann: Condensed Reference Chart for the 6800
4 Hart-Badger: A Train Control Display Using the LSI-11
5 Barbier: The TV Oscilloscope
6 Boddie: Speech Recognition for a Personal Computer System
7 Maurer: How to Pick up a Dropped Bit
8 Grappel Give Your Micro a Megabyte
9 Simmons: An Introduction to Numbers
10 Zolman: A Machine Code Relocator for the 8080
11 Baker: BASICally BASIC
12 Pittet: How Far -Which Way?
13 McGahee: Add Cursor Control to Your TVT II
14 Grater: Giving KIM Some Fancy Jewels
PAGE
12
36
42
44
52
64
72
78
82
92
96
118
122
126
introduction of the Intel 8080). The winner,
by a large margin, was the article by Jack
Emmerichs on the Tiny Assembler 6800,
which came in the +2 a point relative to the
mean for 1 3 articles. Second place went to a
semifiction story by Steve Garcia (count-
ering the trend just cited) entitled "Having
a Private Affair With Your Computer."
Steve's article came in at the +1 a point, just
slightly ahead of a group of articles which
clustered above the mean at approximately
the same displacement. The remaining fic-
tion articles (and numerous comments on
the BOMB cards) clustered around the 1.5
a point of the observed distribution. These
statistics were calculated with a program-
mable calculator. The results should be
taken with a grain of salt, since the standard
deviation was 24% of the mean. Why did I
put so many of a similar type of article in
the April issue? It was, after all, the April
Fool issue; and it provided a form of con-
trolled experiment by tweaking the content
a little far in one direction while observing
the results in the tally of BOMB cards. The
experiment has been concluded for the time
being . . .C Helmets"
176
JD >in-i3 nteroiind Onlay praetmr aiaaiava fraafhcr mi
Chiraefr Foriit — III tfiffarant I I 12* la/tairi
dafmatla dat aatrti charactan, diaalavtd ■■ 21 ar
I mas of IS to 121 charactara t*r imt, all ettaifflalla
in raal tfaai
flii EfiCAil — • bit aattirn mth a 121 m III tavir-i
diapiav. «aeh nvara indiviiuaiiv atttahia.
t af tavt* ana i
touch it.
Key Into
Maxi-Power <g> Micro-!
Micromind is an incredibly flexible,
complete and expandable, hardware/
software, general purpose computer
system. You won't outgrow it.
Hardware includes an 80 key, software-
definable keyboard, I/O interface board,
6500A-series microprocessor (powerful
enough for advanced computing), a high-
detail graphics and character display
processor, power supply, rf modulator,
and connections for up to 4 tape recorders
plus TV or monitor. An interconnect bus
permits 15 additional microprocessors,
parallel processing and vastly increased
computing power.
System software— including ECD's own
notsoBASIC high level language, on
advanced error-correcting tape cassettes
— provides a word processing editor, a
Name.
powerful assembler, a debugger, a file
system, graphic routines, and peripheral
handlers. We also include dynamic graphic
games: Animated Spacewar and Life.
ECD's standard Micromind /uM-65
supplies 8K bytes of memory. Additional
32K byte expansion boards and a mapping
option give Micromind expandable access
to 64 Megabytes. Utilizing software-
controlled I/O channels, Micromind's
advanced encoding techniques load data
from ordinary tape recorders at 3200
bits per second.
Micromind comes to you ready-to-use,
factory assembled and fully tested. Among
microcomputers, it has the largest memory
capacity and the fastest storage. You're
looking at the work of the finest display
processor on the market. You won't find a
microcomputer with a more powerful CPU.
You won't find a computer with a
more flexible keyboard. You won't
find anything to
touch it at
$987.54.
So, quit the kluge scene and key into
Micromind. You'll be a main frame per-
former, with all the comforts of home.
We're not fooling . . . this is the cat's /x!
ECD CORP.
196 Broadway, Cambridge, Mass. 02139
(617) 661-4400
€C1>
Address .
City/State .
Zip.
□ Fantastic! Check enclosed: $987.54. shipping paid by ecd
D BankAmericard □ Master Charge Mass. Resident add 5% Sales Tax
# Expiration Date . .
Signature
□ Send me your brochure.
Actual unretouched photographs.
Circle 92 on inquiry card.
•
It Comes Naturally With
The Altair™ 8800b
The Altair 8800b from MITS: the second gen-
eration design of the microcomputer that
started it all. The mainframe that has the abil-
ities everyone is demanding from microcom-
puters today
Expand-ability:
The Altair 8800b power supply and one-
piece, 18-slot motherboard allow efficient
and easy expandability for memory and I/O
options All Altair PC boards are designed to
live youn'tqxlmum capability /lowest power
- possible per bqiard. This means that
for each MOI used you get more features and
require less power, than with any of the "off-
brand" Altair bus-compatible boards.
Whether you buy an enliie system up front or
choose toMjfijhd gradually, it's easy to get
the corcJtflj^qlWt you -.need with the com-
plete fdJitW'Of Altair peripheral equipment,
Including
floppy disk, line
printer, audio
cassette record
interfaoe, A/D
converter,
PROM program-
mer, serial and
parallel I/O boards,
choice of foui different memory boards and
many others.
Reli-ability:
The unique design features of the Altair
8800b, which have set the standard for the
microcomputer industry, make it the most
reliable unit of its kind. The Altair 100-pin bus,
the now-standard design used by many imi-
tators, has been "standard" all along at MITS.
The unique Front Panel Interface Board on
the Altair 8800b isolates and filters front panel
noise before it can be transmitted to the bus.
The all-new CPU board utilizes the 8080A
microprocessor, Intel 8224 clock generator
and 8216 bus drivers.
Flex-ability:
Meeting the diversified demands of an ever-
increasing microprocessor markoi squires
flexibility: not just hardware flev.r ■; ty but
software flexibility as well. MITS software,
including the innovative Altair BASIC lan-
guage, allows the full potential of the Altair
8800b computer to be realized.
8K ALTAIR BASIC has facilities tor variable
length strings with LEFT$, RIGHT$. and MID$
functions, a concatenation operator, and
VAL AND STR$ functions to convert between
strings and numbers.
Extended ALTAIR BASIC allows integer, single
and double precision variables, automatic
line numbering and renumbering, user-
defined string functions, PRINT USING for for-
matted output and a powerful EDIT com-
mand for editing program files during or after
entry. Extended statements and commands
include IF . . . THEN . . . ELSE, LIST and DELETE
program lines, SWAP variables and Trace On
and Off for debugging.
Disk ALTAIR BASIC has all the features of
Extended BASIC with the additional capa-
bility to maintain sequential and random
;s disk files. Utilities are provided for
formatting disks and printing directories.
In all versions of ALTAIR BASIC you get the
ease and efficiency of BASIC for the solution
ot real world problems.
Package II. an assembly language develop-
ment system for the Altair 8800b. includes
system monitor, text editor, assembler and
debug.
Afford -ability:
Prices for the Altair 8800b start at
$840.00 for a kit and $11 00.00 for an
I assembled unit (all documentation
included).
For a complete listing of prices on
all Altair products and a free bro-
chure, contact:
MITS, Inc.
2450 Alamo S.E.
| Albuquerque, N.M. 87106
(505) 243-7821
NOTE: Altair is a trademark of MITS. Inc.
Circle 93 on inquiry card.
X